Hi.
Freepbx reports that the IAX peer is online, but registration is rejected. The VSP is unable to provide me with any log reports and IAX debugging at my end provides no insight. I can’t see whats wrong with the Registration string. Have tried many different configs:
**Trunk Name:** myhost_iax
**PEER Details:**
host=my_host.net.au
username=100XXXX
secret=my_secret
type=peer
qualify=yes
**USER Context**: 100XXXX
**USER Details:**
username=100XXXX
host=my_host.net.au
secret=my_secret
type=user
context=from-trunk
qualify=yes
**Register String**: 100XXXX:my_secret@my_host.net.au
The following entries are in iax_additional.conf:
mailboxdetail=yes
tos=ef
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=ilbc
allow=g729
registertimeout=180
calltokenoptional=0.0.0.0/0.0.0.0
maxcallnumbers=16382
requirecalltoken=no
codecpriority=host
delayreject=yes
jitterbuffer=no
maxregexpire=3600
minregexpire=180
I have port forwarded 4569, but understand this should not be required for IAX. Am using an old version of asterisk (1.4.26.1) and freepbx (2.9), Would upgrade if I have to but would prefer not to. Any help would be great!
Compfused
dicko
(dicko)
November 22, 2014, 10:42pm
2
start with (from the asterisk CLI):-
iax2 set debug peer my_host.net.au
iax2 set debug trunk myhost_iax
thanks…this is all I see in the logs after setting up the debug:
[Nov 23 10:05:39] NOTICE[10906] chan_iax2.c: Registration of '101XXXX' rejected: '<unknown>' from: '202.139.97.224'
[Nov 23 10:06:29] NOTICE[10899] chan_iax2.c: Registration of '101XXXX' rejected: '<unknown>' from: '202.139.97.224'
[Nov 23 10:07:19] NOTICE[10906] chan_iax2.c: Registration of '101XXXX' rejected: '<unknown>' from: '202.139.97.224'
Compfused
dicko
(dicko)
November 22, 2014, 11:26pm
4
So am I, there is no IAX2 debug info there, go for verbose and
iax2 set debug on
and watch carefully the logs.
Hi…there aren’t any more clues here, for me anyway (note (there are two accounts attempting to register)
[Nov 23 10:47:19] VERBOSE[10903] logger.c: Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[Nov 23 10:47:19] VERBOSE[10903] logger.c: Timestamp: 00009ms SCall: 01599 DCall: 00001 [202.139.97.224:4569]
[Nov 23 10:47:19] VERBOSE[10909] logger.c: Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
[Nov 23 10:47:19] VERBOSE[10909] logger.c: Timestamp: 00019ms SCall: 14177 DCall: 00000 [202.139.97.224:4569]
[Nov 23 10:47:19] VERBOSE[10909] logger.c: USERNAME : 101XXXX
[Nov 23 10:47:19] VERBOSE[10909] logger.c: REFRESH : 60
[Nov 23 10:47:19] VERBOSE[10909] logger.c:
[Nov 23 10:47:19] VERBOSE[10899] logger.c: Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
[Nov 23 10:47:19] VERBOSE[10899] logger.c: Timestamp: 00019ms SCall: 00001 DCall: 14177 [202.139.97.224:4569]
[Nov 23 10:47:19] NOTICE[10899] chan_iax2.c: Registration of '101XXXX' rejected: '<unknown>' from: '202.139.97.224'
[Nov 23 10:47:19] VERBOSE[10899] logger.c: Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[Nov 23 10:47:19] VERBOSE[10899] logger.c: Timestamp: 00019ms SCall: 14177 DCall: 00001 [202.139.97.224:4569]
[Nov 23 10:47:33] VERBOSE[10909] logger.c: Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
[Nov 23 10:47:33] VERBOSE[10909] logger.c: Timestamp: 00009ms SCall: 09024 DCall: 00000 [202.139.97.224:4569]
[Nov 23 10:47:33] VERBOSE[10909] logger.c: Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
[Nov 23 10:47:33] VERBOSE[10909] logger.c: Timestamp: 00019ms SCall: 04824 DCall: 00000 [202.139.97.224:4569]
[Nov 23 10:47:33] VERBOSE[10900] logger.c: Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
[Nov 23 10:47:33] VERBOSE[10900] logger.c: Timestamp: 00009ms SCall: 00001 DCall: 09024 [202.139.97.224:4569]
[Nov 23 10:47:33] VERBOSE[10900] logger.c: Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[Nov 23 10:47:33] VERBOSE[10900] logger.c: Timestamp: 00009ms SCall: 09024 DCall: 00001 [202.139.97.224:4569]
[Nov 23 10:47:33] VERBOSE[10901] logger.c: Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
[Nov 23 10:47:33] VERBOSE[10901] logger.c: Timestamp: 00019ms SCall: 00001 DCall: 04824 [202.139.97.224:4569]
[Nov 23 10:47:33] VERBOSE[10901] logger.c: Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[Nov 23 10:47:33] VERBOSE[10901] logger.c: Timestamp: 00019ms SCall: 04824 DCall: 00001 [202.139.97.224:4569]
[Nov 23 10:47:57] VERBOSE[10892] logger.c: -- Remote UNIX connection
[Nov 23 10:48:07] VERBOSE[24968] logger.c: -- Remote UNIX connection disconnected
[Nov 23 10:48:09] VERBOSE[10909] logger.c: Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
[Nov 23 10:48:09] VERBOSE[10909] logger.c: Timestamp: 00019ms SCall: 00316 DCall: 00000 [202.139.97.224:4569]
[Nov 23 10:48:09] VERBOSE[10909] logger.c: USERNAME : 101YYYY
[Nov 23 10:48:09] VERBOSE[10909] logger.c: REFRESH : 60
[Nov 23 10:48:09] VERBOSE[10909] logger.c:
[Nov 23 10:48:09] VERBOSE[10899] logger.c: Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
[Nov 23 10:48:09] VERBOSE[10899] logger.c: Timestamp: 00019ms SCall: 00001 DCall: 00316 [202.139.97.224:4569]
[Nov 23 10:48:09] NOTICE[10899] chan_iax2.c: Registration of '101YYYY' rejected: '<unknown>' from: '202.139.97.224'
[Nov 23 10:48:09] VERBOSE[10899] logger.c: Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[Nov 23 10:48:09] VERBOSE[10899] logger.c: Timestamp: 00019ms SCall: 00316 DCall: 00001 [202.139.97.224:4569]
[Nov 23 10:48:09] VERBOSE[10909] logger.c: Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
[Nov 23 10:48:09] VERBOSE[10909] logger.c: Timestamp: 00009ms SCall: 02054 DCall: 00000 [202.139.97.224:4569]
[Nov 23 10:48:09] VERBOSE[10909] logger.c: USERNAME : 101XXXX
[Nov 23 10:48:09] VERBOSE[10909] logger.c: REFRESH : 60
[Nov 23 10:48:09] VERBOSE[10909] logger.c:
[Nov 23 10:48:09] VERBOSE[10906] logger.c: Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
[Nov 23 10:48:09] VERBOSE[10906] logger.c: Timestamp: 00009ms SCall: 00001 DCall: 02054 [202.139.97.224:4569]
[Nov 23 10:48:09] NOTICE[10906] chan_iax2.c: Registration of '101XXXX' rejected: '<unknown>' from: '202.139.97.224'
[Nov 23 10:48:09] VERBOSE[10906] logger.c: Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[Nov 23 10:48:09] VERBOSE[10906] logger.c: Timestamp: 00009ms SCall: 02054 DCall: 00001 [202.139.97.224:4569]
dicko
(dicko)
November 23, 2014, 12:14am
6
I’m sorry but you are doing something wrong, if you enable iax2 debugging then the iax2 debugging info will be apparent, until you figure that out, I have no more advice to give.
iax2 looks similar to:
[2014-11-22 17:12:21] Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 01999 DCall: 30512 [127.0.0.1:40002]
[2014-11-22 17:12:21] Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 30512 DCall: 15970 [127.0.0.1:40004]
[2014-11-22 17:12:21] Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 30512 DCall: 15970 [127.0.0.1:40004]
[2014-11-22 17:12:21] RR_JITTER : 0
[2014-11-22 17:12:21] RR_LOSS : 0
[2014-11-22 17:12:21] RR_PKTS : 1
[2014-11-22 17:12:21] RR_DELAY : 40
[2014-11-22 17:12:21] RR_DROPPED : 0
[2014-11-22 17:12:21] RR_OUTOFORDER : 0
[2014-11-22 17:12:21]
[2014-11-22 17:12:21] Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 15970 DCall: 30512 [127.0.0.1:40004]
[2014-11-22 17:12:21] Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 31089 DCall: 07825 [127.0.0.1:40000]
[2014-11-22 17:12:21] Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 31089 DCall: 07825 [127.0.0.1:40000]
[2014-11-22 17:12:21] RR_JITTER : 0
[2014-11-22 17:12:21] RR_LOSS : 0
[2014-11-22 17:12:21] RR_PKTS : 1
[2014-11-22 17:12:21] RR_DELAY : 40
[2014-11-22 17:12:21] RR_DROPPED : 0
[2014-11-22 17:12:21] RR_OUTOFORDER : 0
[2014-11-22 17:12:21]
[2014-11-22 17:12:21] Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
[2014-11-22 17:12:21] Timestamp: 00011ms SCall: 07825 DCall: 31089 [127.0.0.1:40000]
.
.
.
.
the debug is noisy but buried in there would be why your registrations are all failing.
OK, verbosity increased now to ‘10’ and here is a sample output after running ‘set iax debug’ at the CLI:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00018ms SCall: 00001 DCall: 15847 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00018ms SCall: 15847 DCall: 00001 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00018ms SCall: 00608 DCall: 00000 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00018ms SCall: 06609 DCall: 00000 [202.139.97.224:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
Timestamp: 00018ms SCall: 00001 DCall: 00608 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00018ms SCall: 00608 DCall: 00001 [202.139.97.224:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
Timestamp: 00018ms SCall: 00001 DCall: 06609 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00018ms SCall: 06609 DCall: 00001 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00008ms SCall: 11441 DCall: 00000 [202.139.97.224:4569]
USERNAME : 101YYYY
REFRESH : 60
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00008ms SCall: 00001 DCall: 11441 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00008ms SCall: 11441 DCall: 00001 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00018ms SCall: 06542 DCall: 00000 [202.139.97.224:4569]
USERNAME : 101XXXX
REFRESH : 60
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00018ms SCall: 00001 DCall: 06542 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00018ms SCall: 06542 DCall: 00001 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00017ms SCall: 09190 DCall: 00000 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00018ms SCall: 14934 DCall: 00000 [202.139.97.224:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
Timestamp: 00017ms SCall: 00001 DCall: 09190 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00017ms SCall: 09190 DCall: 00001 [202.139.97.224:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
Timestamp: 00018ms SCall: 00001 DCall: 14934 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00018ms SCall: 14934 DCall: 00001 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00008ms SCall: 05959 DCall: 00000 [202.139.97.224:4569]
USERNAME : 101YYYY
REFRESH : 60
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00008ms SCall: 00001 DCall: 05959 [202.139.97.224:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00008ms SCall: 05959 DCall: 00001 [202.139.97.224:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00008ms SCall: 10278 DCall: 00000 [202.139.97.224:4569]
USERNAME : 101XXXX
REFRESH : 60
dicko
(dicko)
November 23, 2014, 3:54am
8
No, sorry, not enough , you need to capture ALL the events INCLUDING the IAX2 packets AND the regular tracing around a “failed” registration, all you have so far posted is that IAX2 is working.
pezzz
(Mark)
November 23, 2014, 8:04am
9
Are you setting your debug on IAX or IAX2 ???
I checked and it was ‘iax2 set debug’…that command should show everything, with verbosity at 10, shouldn’t it? How can more debug information be extracted?
Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00008ms SCall: 11441 DCall: 00000 [202.139.97.224:4569]
USERNAME : 101YYYY
REFRESH : 60
Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGREJ
Timestamp: 00008ms SCall: 00001 DCall: 11441 [202.139.97.224:4569]
This means that IAX2 tried to regiister but was rejected. It could be one of two things: bad username or secret. You could do
Trunk Name: 100xxxx
PEER Details:
host=my_host.net.au
username=100XXXX
secret=my_secret
type=friend
qualify=yes
and leave the rest blank
and leave the rest blank refers to the “user” section
Thanks, tried that but still reg. is rejected. Funny thing is that can register with eg zoiper iax
Is it safe to upgrade asterisk from 1.4.26.1 to a newer version, eg asterisk 11?
Would it work with my 2.9 freepbx?
Compfused
Oh so you are running an old version of asterisk 1.4? Then it is probably a call token problem.
requirecalltoken=no
There was a minor upgrade to IAX2 about the time of 1.4 where the calltoken was added to prevent a man in the middle hack. Unfortunately, it caused a lot of problems. The service provider will have to provide no call tokens. The short answer is upgrade to the latest FreePBX version.