[Home]

Summary:ASTERISK-12376: [patch] OPTIONS response on default port.
Reporter:Alexandr Dubovikov (baron)Labels:
Date Opened:2008-07-14 10:47:40Date Closed:2009-05-19 09:01:20
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) check_via.patch
Description:handle_request_options doesn't have check_via() function and because the response go to default port 5060, but should got to port was defined in Via: Header.

check_via should be also in the folows functions:
handle_request_info()
handle_request_notify()
handle_request_options()
handle_request_refer()
handle_request_message();
Comments:By: Tilghman Lesher (tilghman) 2008-07-14 10:51:31

Is there an actual interop problem being reported here, or is this simply pedantry?

By: Olle Johansson (oej) 2008-07-14 11:09:14

Well, it depends on the NAT settings too.

By: Alexandr Dubovikov (baron) 2008-07-14 11:14:05

Yep, because our softswitch wait the answer on the Via's port and send hundert times the OPTIONS packet and after timeout set the FAILURE flag on Asterisk's SIP trunk.

also it should be RFC 3261 comform:

18.1.2 Receiving Responses

and

18.2.2 Sending Responses

  The server transport uses the value of the top Via header field in
  order to determine where to send a response.  It MUST follow the
  following process:
.....

By: Digium Subversion (svnbot) 2009-01-09 14:14:09.000-0600

Repository: asterisk
Revision: 168128

U   branches/1.4/channels/chan_sip.c

------------------------------------------------------------------------
r168128 | mmichelson | 2009-01-09 14:08:04 -0600 (Fri, 09 Jan 2009) | 13 lines

Add check_via calls to more request handlers

INFO, NOTIFY, OPTIONS, REFER, and MESSAGE requests
were not checking the topmost Via to determine where
to send the response. Adding check_via calls to those
request handlers solves this.

(closes issue ASTERISK-12376)
Reported by: baron
Patches:
     check_via.patch uploaded by baron (license 531)
Tested by: baron

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168128

By: Digium Subversion (svnbot) 2009-01-09 15:53:20.000-0600

Repository: asterisk
Revision: 168193

_U  trunk/
U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r168193 | mmichelson | 2009-01-09 15:53:19 -0600 (Fri, 09 Jan 2009) | 21 lines

Merged revisions 168128 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r168128 | mmichelson | 2009-01-09 14:08:04 -0600 (Fri, 09 Jan 2009) | 13 lines

Add check_via calls to more request handlers

INFO, NOTIFY, OPTIONS, REFER, and MESSAGE requests
were not checking the topmost Via to determine where
to send the response. Adding check_via calls to those
request handlers solves this.

(closes issue ASTERISK-12376)
Reported by: baron
Patches:
     check_via.patch uploaded by baron (license 531)
Tested by: baron

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168193

By: Digium Subversion (svnbot) 2009-01-09 15:56:57.000-0600

Repository: asterisk
Revision: 168195

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_sip.c

------------------------------------------------------------------------
r168195 | mmichelson | 2009-01-09 15:56:57 -0600 (Fri, 09 Jan 2009) | 29 lines

Merged revisions 168193 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r168193 | mmichelson | 2009-01-09 15:53:26 -0600 (Fri, 09 Jan 2009) | 21 lines

Merged revisions 168128 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r168128 | mmichelson | 2009-01-09 14:08:04 -0600 (Fri, 09 Jan 2009) | 13 lines

Add check_via calls to more request handlers

INFO, NOTIFY, OPTIONS, REFER, and MESSAGE requests
were not checking the topmost Via to determine where
to send the response. Adding check_via calls to those
request handlers solves this.

(closes issue ASTERISK-12376)
Reported by: baron
Patches:
     check_via.patch uploaded by baron (license 531)
Tested by: baron

........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168195

By: Digium Subversion (svnbot) 2009-01-09 15:57:40.000-0600

Repository: asterisk
Revision: 168196

_U  branches/1.6.1/
U   branches/1.6.1/channels/chan_sip.c

------------------------------------------------------------------------
r168196 | mmichelson | 2009-01-09 15:57:40 -0600 (Fri, 09 Jan 2009) | 29 lines

Merged revisions 168193 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r168193 | mmichelson | 2009-01-09 15:53:26 -0600 (Fri, 09 Jan 2009) | 21 lines

Merged revisions 168128 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r168128 | mmichelson | 2009-01-09 14:08:04 -0600 (Fri, 09 Jan 2009) | 13 lines

Add check_via calls to more request handlers

INFO, NOTIFY, OPTIONS, REFER, and MESSAGE requests
were not checking the topmost Via to determine where
to send the response. Adding check_via calls to those
request handlers solves this.

(closes issue ASTERISK-12376)
Reported by: baron
Patches:
     check_via.patch uploaded by baron (license 531)
Tested by: baron

........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168196

By: Mark Michelson (mmichelson) 2009-01-12 09:10:32.000-0600

I'm re-opening this issue because this fix isn't really enough to make response sending correct in chan_sip.c

I'm setting a relationship to issue 8855 because if issue 8855 is closed properly, then this one will be ready to be closed, too.

By: Joshua C. Colp (jcolp) 2009-05-19 09:01:19

I'm closing this out as I have completed my changes for 8855 in a branch which will be merged soon. I would appreciate any feedback on things there.