Summary: | ASTERISK-27696: res_pjsip: transport option on endpoint is not enforced on incoming traffic | ||
Reporter: | snuffy (snuffy) | Labels: | pjsip |
Date Opened: | 2018-02-21 16:51:27.000-0600 | Date Closed: | |
Priority: | Minor | Regression? | No |
Status: | Open/New | Components: | Resources/res_pjsip |
Versions: | GIT | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Debian 9 Compile options DONT_OPTIMIZE BETTER_BACKTRACES | Attachments: | ( 0) pjsip-accepts-udp-register-for-tcp-endpoint-once.txt |
Description: | *Create an Endpoint with TCP as transport
* Use dynamic registration * Set a phone to use UDP instead to register as endpoint First registration attempt as UDP will be accepted by Asterisk with 200 OK Asterisk then flags AOR as available, then immediately removes the contact as it is UDP. From then on phone gets correct 401 - REFUSED to any further attempts to register / call out. Will attach test case shortly | ||
Comments: | By: Asterisk Team (asteriskteam) 2018-02-21 16:51:28.362-0600 Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report. Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process]. By: snuffy (snuffy) 2018-02-22 16:51:18.402-0600 Order in File: * Phone registered via TCP * Phone de-registers via TCP on reboot * Phone attempts to register via UDP on next boot * Asterisk accepts Register on UDP * Asterisk then invalidates Contact * Asterisk denies future Registers via UDP for Phone * Phone attempts Dial out via UDP * Phone de-registers via UDP on reboot * Phone registers as TCP after boot. By: Joshua C. Colp (jcolp) 2018-03-12 08:04:20.236-0500 What is the actual configuration for this? A difference between chan_sip and chan_pjsip is that the "transport" option doesn't restrict reception of messages. Instead it explicitly uses the given transport for outgoing messages, which can result in behavior like this - specifically OPTIONS failing because it can't be sent using TCP and the contact becoming unreachable. By: Asterisk Team (asteriskteam) 2018-03-26 12:00:01.614-0500 Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1]. [1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines By: snuffy (snuffy) 2018-03-26 18:48:09.292-0500 Hello, My issue was that if the TRANSPORT for the ENDPOINT is TCP. Asterisk SHOULD NOT reply to its UDP REGISTER with OK on UDP, As seen in the pjsip output instead it should either pretend it didn't get the message or respond with a NOT AUTHORIZED as it does for further REGISTER attempts via UDP. . By: Asterisk Team (asteriskteam) 2018-03-26 18:48:09.671-0500 This issue has been reopened as a result of your commenting on it as the reporter. It will be triaged once again as applicable. By: Joshua C. Colp (jcolp) 2018-03-26 18:55:34.037-0500 I think that could be a potential improvement to make to improve the user experience, but as it is the option itself is working as it is supposed to. |