[asterisk-bugs] [JIRA] (ASTERISK-28513) Should To: be rewritten when forwarding to a phone

Brian J. Murrell (JIRA) noreply at issues.asterisk.org
Thu Sep 26 11:23:47 CDT 2019


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=248162#comment-248162 ] 

Brian J. Murrell commented on ASTERISK-28513:
---------------------------------------------

{quote}
Messaging is a seldom used thing and does not see much activity.
{quote}

Well, I think the Linphone developers are maintaining that the general format of the {{To:}} header in all SIP packets (i.e. INVITE, etc.) coming from Asterisk are wrong and should not be getting re-written to the IP address of the client.

{quote}
>From looking at the code, though, it does appear there is some logic for updating the To based on the value within the message data itself (update_to) so it would likely not be difficult to expand it further.
{quote}

To be clear, it looks like that {{update_to()}} is only updating the _display_ portion of the {{To:}} header, correct?  Are you suggesting that that function could also be used to maintain the "logical" (real portion, not display portion) address of the user?  Is the "logical" address of the user known at that point or has the {{To:}} header already been formed into the remote _user_ at _remote-ip-address_?

> Should To: be rewritten when forwarding to a phone
> --------------------------------------------------
>
>                 Key: ASTERISK-28513
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28513
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip_messaging
>    Affects Versions: 13.28.0
>            Reporter: Brian J. Murrell
>            Severity: Minor
>              Labels: pjsip
>
> I have run into a problem with {{MESSAGE}} s and the [Linphone Android client|https://github.com/BelledonneCommunications/linphone-android].
> The [issue|https://github.com/BelledonneCommunications/linphone-android/issues/605] as described in their tracker is that when {{MESSAGE}} s come to the linphone client from the same sender, they can be "filed" into many different threads, rather than all in one chat/thread.  This is because linphone separates chats based on both the From: and To: headers.
> As I am sure you know, the {{To:}} header of a client can vary wildly based on the IP address it's connecting from.  This means that every time the IP address of the SIP client changes, a new chat for the same sender is created.
> But the problem is that Asterisk is setting the {{To:}} header of the {{MESSAGE}} to the {{user at ip_address}} of the remote SIP client and so this means that every time the IP address of the remote SIP client changes, a new To: header is created, and so is a new chat in the SIP client.
> Linphone defends this behaviour by insisting that the {{To:}} header value is a logical value of the recipient for a given domain and should always remain it's logical value no matter whether it's being forwarded on to a SIP client or not.
> So for example, if my Asterisk server is at pbx.example.com and somebody (my VOIP provider for example) send a {{MESSAGE}} to 555-555-1212 at ip-address-of-my-asterisk, when my Asterisk server receives that message and then wants to forward it on to a SIP client, the To: should be {{To:  _recipient_]@pbx.example.com}}, not {{To: _recipient_ at ip-address-of-SIP-client}}.
> They quote [RFC 3261 section 8.1.1.2|https://tools.ietf.org/html/rfc3261#section-8.1.1.2] further in defending this behaviour.  My reading of it doesn't leave me with much to argue against their defence.
> I don't see any way to make Asterisk (with PJSIP) to follow this behaviour.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list