[asterisk-bugs] [Asterisk 0012963]: [patch] chan_iax2 will create multiple sessions when receiving retransmitted NEW
noreply at bugs.digium.com
noreply at bugs.digium.com
Tue Jul 1 20:50:41 CDT 2008
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=12963
======================================================================
Reported By: jpgrayson
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 12963
Category: Channels/chan_iax2
Reproducibility: always
Severity: major
Priority: normal
Status: new
Asterisk Version: 1.4.21
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Disclaimer on File?: N/A
Request Review:
======================================================================
Date Submitted: 06-30-2008 18:48 CDT
Last Modified: 07-01-2008 20:50 CDT
======================================================================
Summary: [patch] chan_iax2 will create multiple sessions when
receiving retransmitted NEW
Description:
When a client initiates a call with a NEW frame, frequently the client will
send a retransmitted NEW frame prior to receiving the ACCEPT frame from
asterisk. This may result in asterisk receiving duplicate NEW frames from
the same client in short succession.
As of at least 1.4.20, asterisk will ACCEPT and create new call sessions
for both of these NEW frames originating from the same client. This results
in much protocol confusion between asterisk and the client and ultimately
leads to asterisk and/or the client terminating the call.
The correct behavior would be for asterisk to recognize second (and third
and fourth) NEW frames from the same source (socket and callno) and ignore
them.
======================================================================
----------------------------------------------------------------------
Corydon76 - 07-01-08 20:50
----------------------------------------------------------------------
I need three things changed with this patch before I'm comfortable with
committing it.
a) Remove gratuitous changes in spacing, so that the code change reflects
just that.
b) Anywhere where you've changed possible semantics, I need to see a
comment in the code, just in case the semantics are incorrect. This will
make finding those cases easier in the future.
c) In draft 4 of the IETF IAX2 specification, section 6.2.2, the document
states that the destination call number is not required. It does NOT say
what value it should be, so a value other than zero is possible. Asterisk
should therefore not require this field to be zero. That needs to be
changed in your patch to submit an explicit zero in the dcallno parameter.
Additionally, I'm interested in confirming that your IAX2 client is
following the specification for retransmission timeout by using twice the
last POKE/PONG response time (Section 7.2.1).
Issue History
Date Modified Username Field Change
======================================================================
07-01-08 20:50 Corydon76 Note Added: 0089565
======================================================================
More information about the asterisk-bugs
mailing list