O cenário
O requisito
Eu gostaria de diferenciar como eu ligo as chamadas dependendo se o chamador tocou A ou B. Como configuro o SPA232 para passar esta informação para o Asterisk / FrePbX para que ele possa lidar com as chamadas de maneira diferente.
A informação
O plano de discagem no SPA para PSTN para VoIP é:
(S0:@192.168.1.XXX)
As primeiras linhas do log asterisco para uma chamada recebida, seja ela direta ou redirecionada, são:
VERBOSE[1496][C-000000f7] netsock2.c: == Using SIP RTP TOS bits 184
VERBOSE[1496][C-000000f7] netsock2.c: == Using SIP RTP CoS mark 5
VERBOSE[12405][C-000000f7] pbx.c: -- Executing [+441235AAAAAA@from-trunk-sip-landline:1] Set("SIP/landline-00000226", "GROUP()=OUT_2") in new stack
VERBOSE[12405][C-000000f7] pbx.c: -- Executing [+441235AAAAAA@from-trunk-sip-landline:2] Goto("SIP/landline-00000226", "from-trunk,+441235AAAAAA,1") in new stack
VERBOSE[12405][C-000000f7] pbx.c: -- Goto (from-trunk,+441235AAAAAA,1)
VERBOSE[12405][C-000000f7] pbx.c: -- Executing [+441235AAAAAA@from-trunk:1] Set("SIP/landline-00000226", "__FROM_DID=+441235AAAAAA") in new stack
Olhando para isso, se a chamada é direta para minha linha ou chegou através do serviço de encaminhamento, no momento em que ela chega ao asterisco, ela tem o mesmo DID: o do telefone fixo.