[asterisk-bugs] [JIRA] (ASTERISK-29663) messaging: AMI MessageSend does not support same parameters as dialplan application

Kevin Harwell (JIRA) noreply at issues.asterisk.org
Mon Sep 20 15:32:33 CDT 2021


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

Kevin Harwell commented on ASTERISK-29663:
------------------------------------------

Is "my_sip_account" defined as an endpoint in your _pjsip.conf_? If so then yes this behavior is expected.

Parsing of a {{To:}} value in this scenario with all its possible destination variations is complicated to say the least. The pjsip [message_destination_parsing|https://github.com/asterisk/testsuite/blob/master/tests/channels/pjsip/message/message_destination_parsing/test-config.yaml] test attempts to test many of these scenarios. Checkout around line [122|https://github.com/asterisk/testsuite/blob/master/tests/channels/pjsip/message/message_destination_parsing/test-config.yaml#L122] as it appears to be the use case described here:
{code}
        # Send to endpoint sipp with domain somedomain.com appended.
        # Domain should be discarded and default aor used.
        ami-actions: { action: { To: 'pjsip:sipp at somedomain.com',
            Body: 'Test Message', Action: 'MessageSend', ActionID: '12343' } }
    -   ami-events: { conditions: { match: { Endpoint: 'sipp',
            RequestURI: 'sip:127.0.0.2',
            MdataDestination: '^sipp at somedomain.com$',
            Event: 'TestEvent', State: 'MSG_FROMTO_URI' } }, count: 1 }
{code}
So, I think in the case where you have an endpoint defined in your configuration that matches the {{To:}} (in this test example "sipp") then the domain is discarded, and an associated AOR contact is used.

>From what I can tell though, if the endpoint is not specified, and a {{default_outbound_endpoint}} is configured then it'll use the URL in the {{To:}} as is.

> messaging: AMI MessageSend does not support same parameters as dialplan application
> -----------------------------------------------------------------------------------
>
>                 Key: ASTERISK-29663
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29663
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip_messaging
>    Affects Versions: 18.6.0
>            Reporter: Brian J. Murrell
>
> The patch in https://gerrit.asterisk.org/c/asterisk/+/15828 seems to achieve the desired behaviour of allowing the {{To:}} header to be specified for the recipient.  I have successfully used the new third field of {{MessageSend()}} to override the address in the {{To:}} header.
> When I use AMI {{Action: MessageSend}}, setting the {{To:}} field of the action to the same value as I use for the third field of {{MessageSend()}}, the {{To:}} header is not overwritten with the value of the {{To:}} field from the action fields.
> For example, via AMI I send:
> {noformat}
> Action: MessageSend
> ActionID: 22525
> To: pjsip:my_sip_account at example.com
> From: <sip:asterisk at example.com>
> Base64Body: [redacted]
> {noformat}
> But what gets sent in the SIP {{MESSAGE}} is:
> {noformat}
> MESSAGE sip:my_sip_account@[2001:123:aa:123:0:21db:34e6:9b08:176b]:45016;transport=tcp;pn-tok=[redacted];pn-type=firebase;app-id=[redacted];pn-silent=1;pn-timeout=0 SIP/2.0
> Via: SIP/2.0/TCP [2001:123:aa:123::2]:5060;rport;branch=z9hG4bKPj30ad245f-1b2f-40f6-96b9-58e8d3a182b0;alias
> From: <sip:asterisk at example.com>;tag=5db4ff03-6d42-4b96-ab67-149859ec1073
> To: <sip:my_sip_account@[2001:123:aa:123:0:21db:34e6:9b08:176b];pn-tok=[redacted];pn-type=firebase;app-id=[redacted];pn-silent=1;pn-timeout=0>
> Contact: <sip:my_sip_account@[2001:123:aa:123::2]:5060;transport=TCP>
> ...
> {noformat}



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



More information about the asterisk-bugs mailing list