Instruções de configuração do equipamento VoIP Asterisk PJSIP

Exemplo de ajustes de conexão do Asterisk PJSIP à Zadarma.

Os dados estão indicados no exemplo:

  • 111111 O teu número SIP da área pessoal.
  • Password A tua palavra-passe do número SIP, da secção de "Ajustes SIP" da área pessoal.
  • 1234-100 - O teu número de extensão da central telefónica da área pessoal
  • Password - A palavra-passe da tua extensão da central telefónica virtual da área pessoal
  • 101 Número de extensão do Asterisk ao qual se conecta a partir do IP de um softphone/telefone para receber e efetuar 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 recebidas são recebidas através de registo 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 registo e enviadas para o número interno 101.

Editamos pjsip.conf


[udp-transport]
type=transport
protocol=udp
bind=0.0.0.0

[111111]
type=registration
transport=udp-transport
outbound_auth=111111_auth
server_uri=sip:sip.zadarma.com
client_uri=sip:111111@sip.zadarma.com
retry_interval=60
expiration=120
contact_user=111111

[111111_auth]
type=auth
auth_type=userpass
password=Password
username=111111

[111111]
type=aor
contact=sip:sip.zadarma.com

[111111]
type=endpoint
transport=udp-transport
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
outbound_auth=111111_auth
aors=111111
from_user=111111
direct_media=no

[111111]
type=identify
endpoint=111111
match=sip.zadarma.com




[udp-transport]
type=transport
protocol=udp
bind=0.0.0.0

[1234-100]
type=registration
transport=udp-transport
outbound_auth=1234-100_auth
server_uri=sip:pbx.zadarma.com
client_uri=sip:1234-100@pbx.zadarma.com
retry_interval=60
expiration=120
contact_user=1234-100

[1234-100_auth]
type=auth
auth_type=userpass
password=Password
username=1234-100

[1234-100]
type=aor
contact=sip:pbx.zadarma.com

[1234-100]
type=endpoint
transport=udp-transport
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
outbound_auth=1234-100_auth
aors=1234-100
from_user=1234-100
direct_media=no

[1234-100]
type=identify
endpoint=1234-100
match=pbx.zadarma.com


O número de extensão 101 ao qual vai conectar-se ao IP do softphone/telefone para receber e efetuar chamadas.


[101]
type=endpoint
transport=udp-transport
context=zadarma-out
disallow=all
allow=alaw
allow=ulaw
auth=101
aors=101

[101]
type=auth
auth_type=userpass
password=101
username=101

[101]
type=aor
max_contacts=10

O encaminhamento de chamadas efetuadas e recebidas é configurado no ficheiro extensions.conf



[zadarma-in]
exten => 111111,1, Dial(PJSIP/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(PJSIP/${EXTEN})                   ; chamadas para números de 3 e 4 dígitos do asterisco
exten => _XXX.,1,Dial(PJSIP/${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(PJSIP/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(PJSIP/${EXTEN})                   ; chamadas para números de 3 e 4 dígitos do asterisco
exten => _XXX.,1,Dial(PJSIP/${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 enviadas, 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 do cabeçalho P-Asserted-Identity será usado com prioridade. Se o cabeçalho não for selecionado ou se for configurado um número incorreto/não conectado, será usado o número predefinido.



[zadarma-out]
exten => _XXX.,1,Set(_SET_PAI=)
exten => _XXX.,n,Dial(PJSIP/${EXTEN}@111111,,b(add_header_pai^add^1))
[add_header_pai]
exten => add,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=${SET_PAI})
exten => add,n,Return()


Se vários números estiverem conectados, para maior comodidade, pode-se simbolizar cada número com um "nome", por exemplo, manchester e london, e configurar o encaminhamento de chamadas recebidas com base 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 com o sinal de "Ocupado"



[zadarma-in]

exten => _X.,1,GotoIf($["${CALLERID(name)}" = "manchester"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "london"]?4:5)
exten => _X.,4,Dial(PJSIP/102)
exten => _X.,5,Busy


O teu número direto em que a chamada entra é transferido para o cabeçalho CALLED_DID. Podes configurar o encaminhamento da chamada recebida com base 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($["${PJSIP_HEADER(read,CALLED_DID)}" = "442045770077"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${PJSIP_HEADER(read,CALLED_DID)}" = "442037691880"]?4:5)
exten => _X.,4,Dial(PJSIP/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 num router, mas por exemplo num centro de dados), é possível receber chamadas recebidas sem registo com base 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 secção "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


[15555555555]
type=aor
contact=sip:sip.zadarma.com

[15555555555]
type=endpoint
transport=udp-transport
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
aors=15555555555
direct_media=no

[15555555555]
type=identify
endpoint=15555555555
match=sip.zadarma.com
match=sipurifr.zadarma.com
match=sipde.zadarma.com
match=sipuriny.zadarma.com


Encaminhamento da chamada recebida no ficheiro extensions.conf


[zadarma-in]

exten => 15555555555,1, Dial(PJSIP/101)


Configuração realizada.

Habilitar cifragem

1. No ficheiro pjsip.conf, adicionamos o seguinte

[transport-z]

type=transport

protocol=tls

verify_server=no

bind=0.0.0.0:7065

method=tlsv1_2

2. No server_uri, depois do endereço do servidor, é necessário adicionar :5061

Instruções de configuração do equipamento VoIP Asterisk com autorização por endereço IP.