I am trying to configure a Zoiper softphone (iOS app version) so that it can connect to my Asterisk PBX. The Zoiper configuration is as follows:
Account name: Account1
Server: <ip-address-of-my-asterisk-server>
User name: guest
Password: test
Caller ID: guest
On the Asterisk server, /etc/asterisk/iax.conf
contains these lines:
[guest]
username=guest
type=friend
context=public
callerid="Guest IAX User"
secret=test
auth=md5
iax2 show users
indicates that Asterisk is aware of these settings.
With extra logging enabled I get the following log messages. In effect, Zoiper's registration to Asterisk is refused (with cause code 29). What could be wrong, and which IAX authentication method is Zoiper using (I tried both md5
and plaintext
with same results.)
(Further questions: Does Asterisk even provide the (optional) IAX2 registration facility and why is Zoiper apparently sending 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
Try adding the value
host=dynamic
to your guest config in iax.conf