<div dir="ltr">Matt,<div><br></div><div>Here is a script i wrote to get this done a long time back.</div><div>This was to strip the 5060 from the request URI going towards an IMS core on an ISC trunk but it should work for you.</div>
<div> </div><div><br></div><div>==</div><div><br></div><div>
















<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">--
Strip off the port information from the Request URI</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">local
function stripPortFromRequestURI(msg)</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">    -- Get the URI from the SIP Request</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">    local method, uri, ver =
msg:getRequestLine()</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">    if uri</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">    then</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        -- Split the uri into SIP URI & URI
Parameters</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        local newuri, params = string.match(uri,
"([^;]*)(;.*)")</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        if not newuri</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        then</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            newuri = uri</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        end</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        -- Get the USER & the HOST part of
the URI</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        local lhs, rhs = string.match(newuri,
"(.*)@(.*)")</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        local _, numOfColons = string.gsub(rhs,
":", ":")</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        -- If there are minimum of 2
":", then the host part is an IPv6 Address</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        if numOfColons >= 2</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        then</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            -- This is a n IPv6 Address</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            -- URI with IPv6 address will be of
the form - sip:user:password@[1234::5678]:5060</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            -- Check if the host part contains
"]", if so, port number might be present</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            rhs = string.gsub(rhs,
"(%[.*%]):.*", "%1")</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        else</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            -- This is an IPv4 address or a
FQDN</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            -- Strip off the characters after
":" (i.e) the port number</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">            rhs = string.gsub(rhs,
"(.*):.*", "%1")</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        end</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        -- Generate the modified URI</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        newuri =
string.format("%s@%s%s", lhs, rhs, params or "")</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        -- Set the new SIP URI</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">        msg:setRequestUri(newuri)</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">    end</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">end</span>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">M.outbound_200_INVITE  = stripPortFromRequestURI</span>

<p class="MsoNormal"> </p>

<span style="font-size:12pt;font-family:Helvetica">M.outbound_INVITE      = stripPortFromRequestURI</span>

<p class="MsoNormal"> </p><p class="MsoNormal"><br></p><p class="MsoNormal">


















</p><p class="MsoNormal" style>return
M</p><p class="MsoNormal" style><br></p><p class="MsoNormal" style>====</p>

</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 14, 2014 at 8:37 AM, Matt Slaga (AM) <span dir="ltr"><<a href="mailto:matt.slaga@dimensiondata.com" target="_blank">matt.slaga@dimensiondata.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The port number is actually something entirely different.  In this case, I have 70 SIP trunks between UCM and Lync for a global egress point access (CSS different for each SIP trunk).  The ports are actually in the 5020-5050 range.  <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">UCM puts this request in the SIP Start Line (Invite) with 5060 regardless of what the SIP trunk uses.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Everything works fine if the user is part of the Lync pool that is associated with the Mediation server.  If they are on a different pool, this port of 5060 (not talking transport here, just SIP message adjustment) causes Lync to drop the invite.  When this port reads 5061 in the SIP invite, the calls flow properly.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> Florian Kroessbacher [mailto:<a href="mailto:florian.kroessbacher@gmail.com" target="_blank">florian.kroessbacher@gmail.com</a>] <br>
<b>Sent:</b> Friday, March 14, 2014 9:24 AM<br><b>To:</b> Matt Slaga (AM)<br><b>Cc:</b> 'Cisco-Voip-Puck' (<a href="mailto:cisco-voip@puck.nether.net" target="_blank">cisco-voip@puck.nether.net</a>)<br><b>Subject:</b> Re: [cisco-voip] UCM 9.1 SIP Normalization Rules<u></u><u></u></span></p>
</div></div><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><br><br>what about to change the destination port in the siptrunk config ??<u></u><u></u></p><div><p class="MsoNormal">--<br>Florian Kroessbacher<br>
gmail: <a href="mailto:florian.kroessbacher@gmail.com" target="_blank">florian.kroessbacher@gmail.com</a><u></u><u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p><div><p>On Fri, Mar 14, 2014 at 2:20 PM, Matt Slaga (AM) <<a href="mailto:matt.slaga@dimensiondata.com" target="_blank">matt.slaga@dimensiondata.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal">I’m attempting to apply a SIP Normalization rule to make a port adjustment on SIP calls between UCM and Lync 2013.<u></u><u></u></p>
<p> <u></u><u></u></p><p class="MsoNormal">In the header, UCM sends the port number as 5060.  Lync has problems digesting this when referring the call to another pool and wants to see the header at 5061.<u></u><u></u></p>
<p> <u></u><u></u></p><p class="MsoNormal">The script we are attempting to use is below.  It has been applied to the various SIP trunks between UCM and Lync.<u></u><u></u></p><p> <u></u><u></u></p><p class="MsoNormal">When reviewing traces, the port is not being adjusted.  Either the LUA script is wrong below, or for some reason it is not being applied.<u></u><u></u></p>
<p> <u></u><u></u></p><p class="MsoNormal">Any thoughts?<u></u><u></u></p><p> <u></u><u></u></p><p> <u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.5pt;font-family:"Arial","sans-serif";color:#333333">M = {}<br>
function M.outbound_INVITE(msg)<br>local method, ruri, ver = msg:getRequestLine()<br>local uri = string.gsub(ruri, "5060", "5061") <br>msg:setRequestUri(uri)<br>end<br>return M</span><u></u><u></u></p>
<p> <u></u><u></u></p><p> <u></u><u></u></p><div><p class="MsoNormal"><image001.png><u></u><u></u></p></div><p> <u></u><u></u></p><div><p class="MsoNormal"><image002.png><u></u><u></u></p></div><p> <u></u><u></u></p>
<p> <u></u><u></u></p><p> <u></u><u></u></p><p class="MsoNormal">Matt Slaga<u></u><u></u></p><p class="MsoNormal">Dimension Data<u></u><u></u></p><p class="MsoNormal"><a href="Tel:+1-571-203-4132" target="_blank">Tel:+1-571-203-4132</a><u></u><u></u></p>
<p class="MsoNormal"><a href="mailto:Matt.Slaga@DimensionData.com" target="_blank">Matt.Slaga@DimensionData.com</a><u></u><u></u></p><p> <u></u><u></u></p></div></blockquote></div></div></div><p class="MsoNormal"><br><br>
<br><span style="color:white">itevomcid</span> <u></u><u></u></p></div></div><br>_______________________________________________<br>
cisco-voip mailing list<br>
<a href="mailto:cisco-voip@puck.nether.net">cisco-voip@puck.nether.net</a><br>
<a href="https://puck.nether.net/mailman/listinfo/cisco-voip" target="_blank">https://puck.nether.net/mailman/listinfo/cisco-voip</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>- Pavan
</div>