Estou tentando configurar um softphone Zoiper (versão do aplicativo iOS) para que ele possa se conectar ao meu PBX Asterisk. A configuração do Zoiper é a seguinte:
Account name: Account1
Server: <ip-address-of-my-asterisk-server>
User name: guest
Password: test
Caller ID: guest
No servidor Asterisk, /etc/asterisk/iax.conf
contém estas linhas:
[guest]
username=guest
type=friend
context=public
callerid="Guest IAX User"
secret=test
auth=md5
iax2 show users
indica que o Asterisk está ciente dessas configurações. Com o log extra ativado , recebo as seguintes mensagens de log. Com efeito, o registro do Zoiper no Asterisk é recusado (com o código de causa 29). O que poderia estar errado e qual método de autenticação IAX o Zoiper está usando (tentei os dois md5
e plaintext
com os mesmos resultados).
(Mais perguntas: o Asterisk fornece o recurso de registro IAX2 (opcional) e por que o Zoiper parece estar enviando REGREL
?)
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00002ms SCall: 00209 DCall: 00000 [10.0.7.1:51130]
USERNAME : guest
REFRESH : 60
CALLTOKEN : Present
FW BLOCK DATA : 14 bytes
Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: CTOKEN
Timestamp: 00002ms SCall: 00001 DCall: 00209 [10.0.7.1:51130]
CALLTOKEN : 51 bytes
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREL
Timestamp: 00003ms SCall: 00208 DCall: 00001 [10.0.7.1:51130]
USERNAME : guest
CALLTOKEN : 51 bytes
FW BLOCK DATA : 14 bytes
Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00003ms SCall: 00001 DCall: 00208 [10.0.7.1:51130]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00003ms SCall: 00209 DCall: 00000 [10.0.7.1:51130]
USERNAME : guest
REFRESH : 60
CALLTOKEN : 51 bytes
FW BLOCK DATA : 14 bytes
Tx-Frame Retry[-01] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00003ms SCall: 06363 DCall: 00209 [10.0.7.1:51130]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00001ms SCall: 06363 DCall: 00209 [10.0.7.1:51130]
Timestamp: 00003ms SCall: 00001 DCall: 00208 [10.0.7.1:51130]
CAUSE : Registration Refused
CAUSE CODE : 29
dynamic
era o padrão.requirecalltoken=no
cenário, cuja falta foi a razão pela qual eu estava enfrentando esse problema.