IAX Trunk Registration Rejected

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

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

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]

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

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.

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.