IAX Call token revisited

Home » Asterisk Users » IAX Call token revisited
Asterisk Users 2 Comments

On 03/21/2011 06:49 PM, Dan Austin wrote:
> I just finished a fresh install of 1.8.3.2 at home using the packages
>
> Digium hosts.
>
> After correcting a number of typo/config’o error that had crept in
>
> over the years, I thought I had everything working.
>
> My wife just complained that she cannot call her mother (who is using an
>
> old IAX hardphone I left for her).
>
> After turning up the logging level I see-
>
> chan_iax2.c: Call rejected, CallToken Support required
>
> Which google cays can be fixed with:
>
> [general]
>
> calltokenoptional=0.0.0.0/0.0.0.0
>
> maxcallnumbers=16384
>
> or
>
> [peer]
>
> requirecalltoken=no (or auto)
>
> Either set of changes does suppress the error, but the remote device still
>
> fails to register. No other errors/warnings are present.

If there aren’t any errors or warnings appearing, then you must not have
the logging verbosity set high enough. Ensure that you’ve used ‘core set
verbose 10′ and ‘core set debug 10’, and that your ‘console’ channel in
logger.conf has all the logger levels enabled. If you still don’t see
what you are looking for, use ‘iax2 set debug’ to enable IAX2-specific
debugging for that phone’s IP address.

Worst case, use tcpdump to make a packet capture of the traffic to/from
the phone and then use Wireshark to look at what is going on.

2 thoughts on - IAX Call token revisited

  • Kevin wrote:

    I should have said relevant errors/warnings. I see info about
    devastate and queues, but little else. That said I think the
    problem is unrelated to call token and an issue with the NAT
    firewall at my mother-in-laws. The incoming traffic is on a
    very high port and not 4569.

    I interpret the following log as her phone is not receiving the
    replies-

    Rx-Frame Retry[ No] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
    Timestamp: 00003ms SCall: 14807 DCall: 00000 [120.xxx.xxx.12:22686]
    USERNAME : XXXXXXX
    REFRESH : 60

    Tx-Frame Retry[000] — OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGAUTH
    Timestamp: 00013ms SCall: 03287 DCall: 14807 [120.xxx.xxx.12:22686]
    AUTHMETHODS : 3
    CHALLENGE : x34x36x37x38x33x35x33x33
    USERNAME : XXXXXXX

    Rx-Frame Retry[Yes] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
    Timestamp: 00003ms SCall: 14807 DCall: 00000 [120.xxx.xxx.12:22686]
    USERNAME : XXXXXXX
    REFRESH : 60

    Tx-Frame Retry[-01] — OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
    Timestamp: 00003ms SCall: 03287 DCall: 14807 [120.xxx.xxx.12:22686]
    Tx-Frame Retry[001] — OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGAUTH
    Timestamp: 00013ms SCall: 03287 DCall: 14807 [120.xxx.xxx.12:22686]
    AUTHMETHODS : 3
    CHALLENGE : x34x36x37x38x33x35x33x33
    USERNAME : XXXXXXX

    Rx-Frame Retry[Yes] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
    Timestamp: 00003ms SCall: 14807 DCall: 00000 [120.xxx.xxx.12:22686]
    USERNAME : XXXXXXX
    REFRESH : 60

    Tx-Frame Retry[-01] — OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
    Timestamp: 00003ms SCall: 03287 DCall: 14807 [120.xxx.xxx.12:22686]
    Rx-Frame Retry[Yes] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
    Timestamp: 00003ms SCall: 14807 DCall: 00000 [120.xxx.xxx.12:22686]
    USERNAME : XXXXXXX
    REFRESH : 60

    Tx-Frame Retry[-01] — OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
    Timestamp: 00003ms SCall: 03287 DCall: 14807 [120.xxx.xxx.12:22686]
    Tx-Frame Retry[000] — OSeqno: 001 ISeqno: 001 Type: IAX Subclass: LAGRQ
    Timestamp: 10015ms SCall: 03287 DCall: 14807 [120.xxx.xxx.12:22686]

    I’ve asked my wife to have her mother reboot her router and phone,
    but that has not happened yet.

    Dan

  • It’s pretty common for an IAX2 device behind a NAT to not be using port
    4569 for its IAX2 communications, especially when it is not acting in a
    ‘server’ capacity… so I wouldn’t be concerned about that specifically.

    Given the fact that the phone is not incrementing it’s OSeqNo in the
    REGREQ packets you showed in the capture, I would agree that it appears
    that the replies from Asterisk are not being received by the phone.