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

Brian J. Murrell (JIRA) noreply at issues.asterisk.org
Tue Oct 1 11:54:48 CDT 2019


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

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

Yes, I thought I made it pretty clear that I was not precluding it from being a definable option for the cases where the reasonable default was not sufficient, but just that the default behaviour of not setting it should be reasonable which IMHO is that the "name" of the Asterisk server/service is used.

{quote}
I'd also be concerned about changing the current behavior out from underneath existing users
{quote}

Unless you accept the argument from the Linphone developers that according to  RFC 3261 section 8.1.1.2 it is an outright bug to be altering the recipient address on handing the message over.  Surely we cannot favour maintaining buggy behaviour simply in an effort to not change (buggy) behaviour.

{quote}
We do have "systemname" in asterisk.conf
{quote}

Hrm.  That might be a useful option of last resort.  But the more I think about it, using a {{bind=}} address of the transport on which the endpoint will be reached to do the previously demonstrated reverse address lookup might be the preferred method, if a {{bind=}} is specified.

{quote}
but that doesn't help if you want the domain to be different for internal and external calls.
{quote}

I suppose.  Is/would that be a common use-case?  I'm not even sure what that configuration looks like in terms of contacts, endpoints, aors, transports, etc. to even try to wrap my head around it.

{quote}
I was thinking about an option on transport to set the to_domain but then realized that we already have from_domain on endpoint so it would seem that the logical place for to_domain would be there rather than transport or global.
{quote}

I don't think there is any particular reason to try to think of {{from_domain}} and (a proposed) {{to_domain}} at the same level of granularity in configuration.  Setting a _from_ type attribute naturally factors down to "individuals" (subjects of the configuration of an Asterisk) but I think of "to" attributes (subjects of other systems) as being less granular.

> 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
>            Assignee: 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