[asterisk-bugs] [JIRA] (ASTERISK-24040) Retrieving source port of sip message in dialplan
dtryba (JIRA)
noreply at issues.asterisk.org
Mon Jul 14 06:56:56 CDT 2014
[ https://issues.asterisk.org/jira/browse/ASTERISK-24040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=220500#comment-220500 ]
dtryba commented on ASTERISK-24040:
-----------------------------------
Patch upload has to wait a little for the lack of a license.
But chan_sip.c and sip/dialplan_functions.c where edited to include:
} else if (!strcasecmp(args.param, "recvport")) {
ast_copy_string(buf, ast_sockaddr_isnull(&p->recv) ? "" : ast_sockaddr_stringify_fmt(&p->recv, AST_SOCKADDR_STR_PORT), buflen);
just after the recvip else if
> Retrieving source port of sip message in dialplan
> -------------------------------------------------
>
> Key: ASTERISK-24040
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-24040
> Project: Asterisk
> Issue Type: New Feature
> Security Level: None
> Components: Channels/chan_sip/NewFeature
> Affects Versions: 11.10.2
> Reporter: dtryba
> Severity: Trivial
>
> I need to route calls in the dialplan based on source ip and source port. Source ip can be retrieved with ${CHANNEL(recvip)} but there is no entry in CHANNEL var to retrieve the port (much to my amazement). Attached is a simple patch that appears to do the job for SIP channels: ${CHANNEL(recvport)}:
> For
> exten => 1,n,NoOp(ip:port ${CHANNEL(recvip)}:${CHANNEL(recvport)})
> a sip invite like:
> <--- SIP read from UDP:10.0.3.175:5555 --->
> INVITE sip:1 at 10.0.2.16 SIP/2.0
> will result in:
> -- Executing [1 at default:2] NoOp("SIP/tst-00000004", "ip:port 10.0.3.175:5555") in new stack
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list