[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