Exemplo de configurações de conexão do Asterisk com a Zadarma.
Os dados estão indicados no exemplo:
- 111111 — O teu número SIP da área pessoal.
- Password — A palavra-passe do teu número SIP, que aparece na seção de "configurações SIP" da área pessoal.
- 1234-100 — O teu número de extensão da central da área pessoal.
- Password — A palavra-passe da tua extensão da central virtual da área pessoal.
- 101 Número de extensão do Asterisk ao qual se conecta a partir de um softphone/telefone IP para receber e realizar chamadas.
Exemplo padrão de configuração
As chamadas efetuadas a partir do número de extensão 101 são enviadas para a linha externa 111111. As chamadas de entrada são recebidas através de registro e enviadas para o número interno 101.
As chamadas efetuadas a partir do número de extensão 101 são enviadas para a linha externa 1234-100. As chamadas de entrada são recebidas através de registro e enviadas para o número interno 101.
Editamos sip.conf
[general] srvlookup=yes [111111] host=sip.zadarma.com insecure=invite,port type=friend fromdomain=sip.zadarma.com disallow=all allow=alaw allow=ulaw dtmfmode=auto secret=password defaultuser=111111 trunkname=111111 fromuser=111111 callbackextension=111111 context=zadarma-in qualify=400 directmedia=no nat=force_rport,comedia [101] ;número de extensão do teu Asterisk secret=password host=dynamic type=friend context=zadarma-out
[general] srvlookup=yes [1234-100] host=pbx.zadarma.com insecure=invite,port type=friend fromdomain=pbx.zadarma.com disallow=all allow=alaw allow=ulaw dtmfmode=auto secret=password defaultuser=1234-100 trunkname=1234-100 fromuser=1234-100 callbackextension=1234-100 context=zadarma-in qualify=400 directmedia=no nat=force_rport,comedia [101] ;número de extensão do teu Asterisk secret=password host=dynamic type=friend context=zadarma-out
O encaminhamento de chamadas efetuadas e recebidas é configurado no ficheiro extensions.conf
[zadarma-in] exten => 111111,1, Dial(SIP/101) ; todas as chamadas recebidas da linha externa 111111 são enviadas para o número de extensão 101 [zadarma-out] exten => _XXX,1,Dial(SIP/${EXTEN}) ; chamadas para números de 3 e 4 dígitos do Asterisk exten => _XXX.,1,Dial(SIP/${EXTEN}@111111) ; chamadas para números com quatro ou mais dígitos através da linha externa 111111
[zadarma-in] exten => 1234-100,1, Dial(SIP/101) ; todas as chamadas recebidas da linha externa 1234-100 são enviadas para o número de extensão 101 [zadarma-out] exten => _XXX,1,Dial(SIP/${EXTEN}) ; chamadas para números de 3 e 4 dígitos do Asterisk exten => _XXX.,1,Dial(SIP/${EXTEN}@1234-100) ; chamadas para números com quatro ou mais dígitos através da linha externa 1234-100
A configuração padrão foi realizada.
P-Asserted-Identity (para utilizadores avançados).
Nas chamadas efetuada, pode-se usar o cabeçalho SIP P-Asserted-Identity para a seleção do CallerID da lista de números conectados no serviço.
O número no cabeçalho P-Asserted-Identity será usado com prioridade. Se o cabeçalho não for selecionado ou for configurado um número incorreto/não conectado, será usado o número padrão.
[zadarma-out]
exten => _XXX.,1,SIPAddHeader(P-Asserted-Identity: )
exten => _XXX.,n,Dial(SIP/${EXTEN}@111111)
Se tiveres conectadas algumas extensões, para maior comodidade, podes simbolizar cada número com um "nome", por exemplo, manchester e london, e configurar o encaminhamento de chamadas recebidas baseado neste parâmetro. O "nome" do número direto é transferido no parâmetro CALLERID(name).
No exemplo seguinte, as chamadas do número manchester são direcionadas para o número de extensão 101, as chamadas do número london são direcionadas para o número de extensão 102, e todas as outras chamadas serão rejeitadas pelo asterisk através do sinal "Ocupado".
[zadarma-in]
exten => _X.,1,GotoIf($["${CALLERID(name)}" = "manchester"]?2:3)
exten => _X.,2,Dial(SIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "london"]?4:5)
exten => _X.,4,Dial(SIP/102)
exten => _X.,5,Busy
O teu número direto no qual entra a chamada é transferido para o cabeçalho CALLED_DID. Podes configurar o encaminhamento da chamada de entrada baseado neste parâmetro.
No próximo exemplo, as chamadas do número 442045770077 são direcionadas para o número de extensão 101, as chamadas do número 442037691880 são direcionadas para o número de extensão 102, e todas as outras chamadas serão rejeitadas pelo asterisk com o sinal de "Ocupado".
[zadarma-in]
exten => _X.,1,GotoIf($["${SIP_HEADER(CALLED_DID)}" = "442045770077"]?2:3)
exten => _X.,2,Dial(SIP/101)
exten => _X.,3,GotoIf($["${SIP_HEADER(CALLED_DID)}" = "442037691880"]?4:5)
exten => _X.,4,Dial(SIP/102)
exten => _X.,5,Busy
Configuração realizada.
Exemplo de configuração nº2 (SIP URI)
Se o servidor Asterisk estiver num endereço IP "branco" (não no router, mas por exemplo num centro de dados), é possível receber chamadas recebidas sem registro baseado no esquema de SIP URI. Os dados estão indicados no exemplo:
- 15555555555 - O teu número direto conectado à Zadarma.
- 2.20.190.41 - O endereço IP do teu servidor com Asterisk.
Na área pessoal, na seção de "Configuração - número direto", direciona as chamadas do número direto para o servidor externo (SIP URI) no formato 15555555555@2.20.190.41
Editamos sip.conf
[zadarma]
host=sipurifr.zadarma.com
type=friend
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
[zadarma2]
host=sipde.zadarma.com
type=friend
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
[zadarma3]
host=sipuriny.zadarma.com
type=friend
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
Rota da chamada de entrada no ficheiro extensions.conf
[zadarma-in]
exten => 15555555555,1, Dial(SIP/101)
Configuração realizada.
Instruções de configuração do equipamento VoIP Asterisk com autorização por endereço IP.