Iax asterisk realtime

Hi

I’am trying to configure asterisk realtime in my asterisk server, for sip it works fine but not for iax. When I try to make a call I got the message “No authority found”

I’am using asterisk 11 , Centos 6 and MySQL as relational database

Configuration:

1- iaxfriends
mysql> select * from iaxfriends limit 1 \G
name: 1001
type: friend
username: 1001
secret: 1001
context: agents
host: dynamic
ipaddr: 10.16.2.50
port: 4569
regseconds: 1382379346
language: NULL
callerid: 1001
disallow: all
allow: ulaw,gsm
qualify: no

2- iax.conf

[general]
transfer=no
bindport=4569
iaxthreadcount = 512
iaxmaxthreadcount = 512
calltokenoptional = 0.0.0.0/0.0.0.0
delayreject=yes
bandwidth=high
disallow=all
allow=ulaw
allow=gsm
jitterbuffer=no
forcejitterbuffer=no
tos=ef
autokill=yes

3- /etc/asterisk/extconfig.conf

sippeers => mysql,asterisk,sip_buddies
extensions => mysql,asterisk,extensions
iaxpeers => mysql,asterisk,iaxfriends

4- Response from CLI

Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00002ms SCall: 00196 DCall: 00000 [10.16.2.50:64658]
VERSION : 2
CALLING NUMBER : 1001
CALLED CONTEXT : agents
CALLING NAME : 1001
CALLING PRESNTN : 1
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
FORMAT : 2
CAPABILITY : 6
USERNAME : 1001
CALLED NUMBER : 123123
DNID : 123123
ADSICPE : 0
CALLTOKEN : Present
FW BLOCK DATA : 30 bytes

Tx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: CTOKEN
Timestamp: 00002ms SCall: 00001 DCall: 00196 [10.16.2.50:64658]
CALLTOKEN : 51 bytes

Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00003ms SCall: 00196 DCall: 00000 [10.16.2.50:64658]
VERSION : 2
CALLING NUMBER : 1001
CALLED CONTEXT : agents
CALLING NAME : 1001
CALLING PRESNTN : 1
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
FORMAT : 2
CAPABILITY : 6
USERNAME : 1001
CALLED NUMBER : 123123
DNID : 123123
ADSICPE : 0
CALLTOKEN : 51 bytes
FW BLOCK DATA : 30 bytes

Tx-Frame Retry[-01] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00003ms SCall: 02496 DCall: 00196 [10.16.2.50:64658]
Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: AUTHREQ
Timestamp: 00014ms SCall: 02496 DCall: 00196 [10.16.2.50:64658]
AUTHMETHODS : 3
CHALLENGE : \x31\x36\x35\x30\x37\x35\x34\x31\x33
USERNAME : 1001

Tx-Frame Retry[001] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: AUTHREQ
Timestamp: 00014ms SCall: 02496 DCall: 00196 [10.16.2.50:64658]
AUTHMETHODS : 3
CHALLENGE : \x31\x36\x35\x30\x37\x35\x34\x31\x33
USERNAME : 1001

Rx-Frame Retry[ No] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: AUTHREP
Timestamp: 02003ms SCall: 00196 DCall: 02496 [10.16.2.50:64658]
MD5 RESULT : db544fc399de6e70d273f754e32085c1

Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 002 Type: IAX Subclass: ACK
Timestamp: 02003ms SCall: 02496 DCall: 00196 [10.16.2.50:64658]
Tx-Frame Retry[000] – OSeqno: 001 ISeqno: 002 Type: IAX Subclass: REJECT
Timestamp: 03014ms SCall: 02496 DCall: 00196 [10.16.2.50:64658]
CAUSE : No authority found
CAUSE CODE : 50

Rx-Frame Retry[ No] – OSeqno: 002 ISeqno: 002 Type: IAX Subclass: ACK

5- CLI> iax2 show peer 1001

  • Name : 1001
    Description :
    Secret :
    Context : agents
    Parking lot :
    Mailbox :
    Dynamic : Yes
    Callnum limit: 0
    Calltoken req: No
    Trunk : No
    Encryption : No
    Callerid : “” <1001>
    Expire : 619
    ACL : No
    Addr->IP : 10.16.2.50 Port 64658
    Defaddr->IP : 0.0.0.0 Port 0
    Username : 1001
    Codecs : (gsm|ulaw)
    Codec Order : (ulaw|gsm)
    Status : Unmonitored
    Qualify : every 60000ms when OK, every 10000ms when UNREACHABLE (sample smoothing Off)

6- iax.conf flat file configuration
; General template
template_1
type=friend
host=dynamic
context=agents
disallow=all
allow=ulaw

When I use an “clasic” iax client in the same configuration (iax.conf, extensions.conf… etc) it work fine

regards

Solution:

the “No authority found” message is due to one have to explicitly specify both ‘users’ and ‘peers’ for iax , which is different from sip, in sip is enough to specify it in the parameter type in the sip table (sippers):

/etc/asterisk/extconfig.conf


sippeers => mysql,asterisk,sippeers ; for users, peers and friends
extensions => mysql,asterisk,extensions
iaxpeers => mysql,asterisk,iaxfriends
iaxusers => mysql,asterisk,iaxfriends