Having worked on this one a few days I feel I am getting close to receiving my first incoming IAX call but seemed to have hit this final hurdle which has me stumped. Dialing 08458629999 as a would be incoming IAX call now receives "Sorry number is temporarily unavailable" which is a big step up from the silence I was previously receiving. The asterisk server is natted but 4569 has definitely been forwarded
iax2 show registry shows no entries
iax2 show peers looks good though
sme*CLI> iax2 show peers
Name/Username Host Mask Port Status
gradwell-user/gradwell-pass 193.111.200.135 (S) 255.255.255.255 4569 OK (54 ms)
but iax debug returns:-
Dec 9 17:16:33 NOTICE[4004]: chan_iax2.c:6977 socket_read: Rejected connect attempt from 193.111.200.135, who was trying to reach '448458629999@'
I'm not sure if the fact that there is nothing after the @ symbol above is significant. I would have thought the server IP should be there but can't be sure
further iax debug output:-
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REJECT
Timestamp: 00004ms SCall: 00004 DCall: 00001 [193.111.200.135:4569]
CAUSE : No authority found
CAUSE CODE : 50
My settings are:-
gradwell control panel:-
IAX2/gradwell-user:gradwell-pass@80.xx.xxx.xx/448458629999
The 80.x.x.x address above relates to the non-natted public address of the asterisk server. I'm assuming the port forwarding gets it to the real 192.168.x.x private address. A tcpdump -i eth0 port 4569 does show incoming traffic when the call is made so I'm assuming its getting through ok
iax.conf :-
[gradwell-user]
type=peer
host=iax.gradwell.net
qualify=3000
canreinvite=no
username=gradwell-user
fromuser=gradwell-user
secret=gradwell-pass
disallow=all
allow=alaw
allow=ulaw
[448458629999]
type=user
context=mainmenu
[mainmenu]
include => extensions
exten => 448458629999,1,agi(selintra,Inbound,${EXTEN})
I have also tried changing iax.conf a bit to reflect gradwell's advice
[gradwell-user]
type=peer
host=iax.gradwell.net
qualify=3000
canreinvite=no
username=gradwell-user
fromuser=gradwell-user
secret=gradwell-pass
disallow=all
allow=alaw
allow=ulaw
[448458629999]
type=user
host=dynamic
username=gradwell-user
secret=gradwell-pass
disallow=all
allow=alaw
allow=ulaw
context=mainmenu
but no different - call still gets rejected instantly
My dialplan for mainmenu looks like this:-
sme*CLI> show dialplan mainmenu
[ Context 'mainmenu' created by 'pbx_config' ]
'448458629999' => 1. agi(selintra|Inbound|${EXTEN}) [pbx_config]
'fax' => 1. GoToIf($["$FAX" = ""]?3:2) [pbx_config]
2. GoTo(extensions|${FAX}|1) [pbx_config]
3. Playtones(congestion) [pbx_config]
'h' => 1. Hangup() [pbx_config]
'i' => 1. Playtones(congestion) [pbx_config]
's' => 1. agi(selintra|CheckState|) [pbx_config]
't' => 1. GotoIf($["${OPEN}" = "YES"]?t|4) [pbx_config]
2. Voicemail(su${SYSOP}) [pbx_config]
3. Hangup() [pbx_config]
4. Goto(extensions|${SYSOP}|1) [pbx_config]
5. Hangup() [pbx_config]
Include => 'extensions' [pbx_config]
-= 6 extensions (12 priorities) in 1 context. =-
Finally pointing the 448458629999 to something other than the selintra agi to say a sip extension fails in the same way. Sorry for the long winded posting. I'm pretty sure its my config and not selintra but I've run out of things to try so any suggestions gratefully received
Cheers
Paul