Summary: | ASTERISK-25990: PJSIP TLS registration should respect client_uri scheme when generating Contact URI | ||
Reporter: | Sebastian Damm (sdamm) | Labels: | |
Date Opened: | 2016-05-04 04:11:32 | Date Closed: | 2016-05-16 13:29:00 |
Priority: | Minor | Regression? | |
Status: | Closed/Complete | Components: | Channels/chan_pjsip Resources/res_pjsip_outbound_registration |
Versions: | 13.8.2 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Attachments: | ||
Description: | As already written on the Asterisk-User list, Asterisk always sends a sips Contact URI when registering via TLS. This can be bad when interoperating with a server which uses sip:a@b.de;transport=tls Contact URIs. Then inbound calls don't work, because Asterisk expects a sips URI in the incoming INVITE as well.
The discussion can be found here: http://lists.digium.com/pipermail/asterisk-users/2016-May/289096.html Asterisk should respect the client_uri scheme and send an appropriate Contact URI. This is how it should be: client_uri=sips:1234567@example.org --> Contact: sips:1234567@1.2.3.4 client_uri=sip:1234567@example.org\;transport=tls --> Contact: sip:1234567@1.2.3.4;transport=tls Content of list post: {quote} Hi, I'm registering an Asterisk against my TLS capable service, using res_pjsip. My config looks like this: {noformat} [devtrunk_reg] type=registration outbound_auth=devtrunk_auth server_uri=sip:example.org\;transport=tls client_uri=sip:1234567 at example.org\;transport=tls outbound_proxy=sip:dev.example.org\;transport=tls\;lr contact_user=1234567 retry_interval=60 expiration=600 line=yes endpoint=222 [devtrunk_auth] type=auth auth_type=userpass username=1234567 password=secret realm=example.org {noformat} It registers fine, but this is what the REGISTER request looks like: {noformat} <--- Transmitting SIP request (903 bytes) to TLS:1.2.3.4:5061 ---> REGISTER sip:example.org;transport=tls SIP/2.0 Via: SIP/2.0/TLS 9.8.7.6:55664;rport;branch=z9hG4bKPjNlqlgmSOP7O4LqOTUqJtFZB8fTmc0ZKL;alias Route: <sip:dev.example.org;transport=tls;lr> From: <sip:1234567 at example.org>;tag=vhDrzKtv9lMR53ZJFgVTnvGcACJiN6Aa To: <sip:1234567 at example.org> Call-ID: nzgHdLyliuBwecmae2Y..0oY2DqYjH0V CSeq: 14861 REGISTER Contact: <sips:1234567 at 9.8.7.6:55664;transport=TLS;line=dhslasr> Expires: 600 Allow: OPTIONS, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER, REGISTER Max-Forwards: 70 User-Agent: Asterisk PBX 13.8.2 Content-Length: 0 {noformat} What I really don't like is the Contact line. It starts with sips instead of sip. This makes inbound calls not work because the server sends a sip Contact header instead of sips. And Asterisk rejects that. In the header of the 480 response I see this line: Warning: 381 SIP "SIPS Required" Since I can't reconfigure the server to send sips Contact URIs, I need Asterisk to send out a contact URI in the register, that starts with sip: as well. Then inbound calls would work. Is there any way to get rid of this sips URI? Interestingly, when sending out calls, the Contact URI starts with sip instead of sips, so outbound calls work. {quote} | ||
Comments: | By: Asterisk Team (asteriskteam) 2016-05-04 04:11:34.085-0500 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]. |