[Home]

Summary:ASTERISK-04977: libiax2 cannot negotiate a registration refresh of other than 60
Reporter:Lee Howard (faxguy)Labels:
Date Opened:2005-09-04 12:22:00Date Closed:2005-09-14 22:28:29
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:I'm using libiax2 and current CVS 1_0.  I've tried both the one from Digium CVS as well as the one from iaxclient's CVS repository.  (The latter has easier debugging, so I refer to that one more.)

If I have a "refresh" value of other than 60 in the iax_register call I see that the REGREQ frames have a REFRESH of whatever I chose to use, however, in the REGACK that comes back is *always* 60.

So, is the refresh value non-negotiable?  The IAX specification doesn't seem to indicate that.  Or is there a bug here?
Comments:By: Russell Bryant (russell) 2005-09-05 18:19:19

Can you try this with CVS HEAD?

By: Lee Howard (faxguy) 2005-09-05 19:25:14

I cannot upgrade any of my servers currently from 1_0 to HEAD due to the upgrade path requiring a fair amount of rework of my AGI scripts because of the changes between 1.0 and 1.2.

If someone wants to give me a registration-only account on a server that runs CVS HEAD then I would be happy to test against that.

By: Lee Howard (faxguy) 2005-09-08 11:49:21

Yes, this problem also exists with CVS HEAD.  Here's the debug output from libiax2 (iaxclient version).  Notice that the REGREQs have 300 as the REFRESH and the REGACK has 60.


Tx-Frame Retry[010] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: REGREQ
  Timestamp: 00003ms  SCall: 16445  DCall: 00000 [64.75.165.99:4569]
  USERNAME        : iaxmodem
  REFRESH         : 300

Tx-Frame Retry[009] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: REGREQ
  Timestamp: 00003ms  SCall: 16445  DCall: 00000 [64.75.165.99:4569]
  USERNAME        : iaxmodem
  REFRESH         : 300

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: REGAUTH
  Timestamp: 00001ms  SCall: 00001  DCall: 16445 [64.75.165.99:4569]
  AUTHMETHODS     : 2
  CHALLENGE       : 493003262
  USERNAME        : iaxmodem

Tx-Frame Retry[010] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: REGREQ
  Timestamp: 00111ms  SCall: 16445  DCall: 00001 [64.75.165.99:4569]
  USERNAME        : iaxmodem
  MD5 RESULT      : 68da02a6265ba6f803742ad6a14a53cd
  REFRESH         : 300

Tx-Frame Retry[009] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: REGREQ
  Timestamp: 00111ms  SCall: 16445  DCall: 00001 [64.75.165.99:4569]
  USERNAME        : iaxmodem
  MD5 RESULT      : 68da02a6265ba6f803742ad6a14a53cd
  REFRESH         : 300

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: ACK    
  Timestamp: 00003ms  SCall: 00001  DCall: 16445 [64.75.165.99:4569]
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: REGACK
  Timestamp: 00159ms  SCall: 00001  DCall: 16445 [64.75.165.99:4569]
  USERNAME        : iaxmodem
  DATE TIME       : 187184550
  REFRESH         : 60
  APPARENT ADDRES : IPV4 64.146.212.27:4569

Tx-Frame Retry[-01] -- OSeqno: 002 ISeqno: 002 Type: IAX     Subclass: ACK    
  Timestamp: 00159ms  SCall: 16445  DCall: 00001 [64.75.165.99:4569]
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: ACK    
  Timestamp: 00111ms  SCall: 00001  DCall: 16445 [64.75.165.99:4569]

By: Kevin P. Fleming (kpfleming) 2005-09-14 22:27:46

It was not a bug.... it was never implemented :-)

CVS HEAD now allows the minimum and maximum allowable registration times to be set on the server side, and will allow the client to choose any value between those parameters (inclusive). On the client side, it will now also respect the refresh interval provided by the server, even if it longer than it requested originally.

By: Kevin P. Fleming (kpfleming) 2005-09-14 22:28:29

BTW: This change won't be made in v1-0, as it would be a 'new feature' there.