[asterisk-dev] [Code Review] Store route-set from provisional SIP responses so early-dialog requests can be routed properly

schmidts reviewboard at asterisk.org
Mon Oct 17 09:36:10 CDT 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1505/
-----------------------------------------------------------

(Updated Oct. 17, 2011, 9:36 a.m.)


Review request for Asterisk Developers, Olle E Johansson and wdoekes.


Changes
-------

i reopen this review cause i have found a racecondition when a sip client doesnt sent a contact header in a 1xx response, the UPDATE message will also be sent to a wrong destination and mostly the transfered call will fail.
By adding a small check for a okcontacturi this problem could be avoided. Connected line update doesnt work in this case.

thanks wdoekes2 for this simple solution ;)


Summary
-------

i have found a problem with a blond transfer and connected_line UPDATE messages. 
When doing a transfer to a ringing channel the UPDATE message will not have any route information attached cause the route header is only parsed on a 200 response and not on a 180.

this small patch parses the contact header and also sets the proper route information even on a 180 respsonse so when an UPDATE messages is sent out, the route header is attached.

maybe doing the same for a 183 response would also be a good idea.


Diffs (updated)
-----

  team/schmidts/unleash-the-beast/addons/Makefile 340808 
  team/schmidts/unleash-the-beast/apps/app_dial.c 340808 
  team/schmidts/unleash-the-beast/channels/chan_sip.c 340808 

Diff: https://reviewboard.asterisk.org/r/1505/diff


Testing
-------

asterisk is behind a kamailio sip proxy which drops in-dialog messages with no prober route header. after parsing the route header of a 180 reponse the proxy forwards the information to the right end point.

normal transfer, blind transfer, ringing ... works fine.

CONNECTED_LINE function after the transfer also works like expected.


Thanks,

schmidts

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20111017/89cec937/attachment.htm>


More information about the asterisk-dev mailing list