<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">OK.
<div class=""><br class="">
</div>
<div class="">Thank you for the Record_Route_Preset fix.  I had followed the example without understanding what it was doing.  It always seemed odd to put the 5060 port after the TLS port.  I understand why now. And more importantly why not to do it.<br class="">
<div class=""><br class="">
</div>
<div class="">Adding a * to the listen port caused an error in the script. I’m running 3.0.2 if that matters?</div>
<div class=""><br class="">
</div>
<div class="">However the routing is still not working correctly </div>
<div class=""><br class="">
</div>
<div class="">
<div class="">        if (is_method("INVITE") && !has_totag() && check_source_address(0)) {</div>
<div class="">                xlog("[ROUTE]Incoming call to MS: RURI=$ruri, SI=$si, M=$rm\n");</div>
<div class="">                strip(1);</div>
<div class="">                prefix("+44");</div>
<div class="">                uac_replace_from( , "<a href="sip:$fU@sbc.ip-sentinel.com:5091" class="">sip:$fU@sbc.ip-sentinel.com:5091</a>");</div>
<div class="">               </div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>$rd="<a href="http://sip.pstnhub.microsoft.com" class="">sip.pstnhub.microsoft.com</a>";</div>
<div class="">                $rp=5061;</div>
<div class=""><br class="">
</div>
<div class="">                $var(ct) = $ct;</div>
<div class="">                xlog("[INFO] Old Contact = $var(ct)\n”);</div>
<div class=""><br class="">
</div>
<div class="">                remove_hf("Contact");</div>
<div class="">                append_hf("Contact: <<a href="sip:$fU@sbc.ip-sentinel.com:5091;transport=tls" class="">sip:$fU@sbc.ip-sentinel.com:5091;transport=tls</a>>\r\n");</div>
<div class=""><br class="">
</div>
<div class="">                record_route_preset("<a href="http://sbc.ip-sentinel.com:5091" class="">sbc.ip-sentinel.com:5091</a>;transport=tls");</div>
<div class=""><br class="">
</div>
<div class="">                route(relay);</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">This routes the call from Zoiper -> Freeswich -> OpenSIPS -> Teams and I get ringing.</div>
<div class=""><br class="">
</div>
<div class="">If I pick up the call In Teams the Zopier client knows it has been accepted.</div>
<div class="">I can hang up the call from Zoiper and Teams hangs up</div>
<div class=""><br class="">
</div>
<div class="">I don’t get Audio from Zoiper -> Teams but I do get Audio from Teams back to Teams with a slight delay</div>
<div class="">Teams then hangs up the call after 20 seconds but the call remains open on Zoiper </div>
<div class=""><br class="">
</div>
<div class="">I’m pretty sure it has something to do with how/where I’m fixing the contact.  Any suggestions?</div>
<div class=""><br class="">
</div>
<div class="">Also how do I get one of those nice sip traffic flows given everything is on TLS?  I’m grabbing stuff out of the debug log and it’s not pretty.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">For future reference this is a great resource on MSTeams expected SIP traffic <a href="https://docs.microsoft.com/en-us/microsoftteams/direct-routing-protocols-sip" class="">https://docs.microsoft.com/en-us/microsoftteams/direct-routing-protocols-sip</a></div>
<div class=""><br class="">
</div>
<div class="">For all incoming calls to the Microsoft SIP proxy, the Contact header must have the paired SBC FQDN in the URI hostname as follows:<br class="">
</div>
<div class="">Syntax: Contact: <<a href="sip:phone or sip address@FQDN of the SBC;transport=tls" class="">sip:phone or sip address@FQDN of the SBC;transport=tls</a>> </div>
<div class=""><br class="">
</div>
<div class="">If more than one value in the Contact header presented in a SIP message is sent by the SBC, only the FQDN portion of the first value of the Contact header is used.</div>
<div class=""><br class="">
</div>
<div class="">Use of an IP address is not supported in either Record-Route or Contact. The only supported option is an FQDN, which must match either the Common Name or Subject Alternative Name of the SBC certificate (wildcard values in the certificate are supported).<br class="">
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>• If an IP address is presented in Record-route or Contact, the certificate check fails and the call fails.<br class="">
</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>• If the FQDN does not match the value of the Common or Subject Alternative Name in the presented certificate, the call fails.</div>
</div>
<div class=""><br class="">
</div>
<div class="">But there is nothing in the instructions in the <a href="https://blog.opensips.org/2019/09/16/opensips-as-ms-teams-sbc/" class="">https://blog.opensips.org/2019/09/16/opensips-as-ms-teams-sbc/</a> that specifies fixing the contact in anything
 other than OPTIONS</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">
    <br>
    <p style="font-family: Open Sans,sans-serif;">
    <b><span style="font-family: Open Sans,sans-serif; font-size:10.0pt;color:#888888">James Hogbin</span></b>
    <b><span style="font-family: Open Sans,sans-serif;font-size:8.0pt;color:#888888;"><br>Director</span></b>
    </p>
    <table border="0" cellspacing="0" cellpadding="0"><tr><td><a href="http://ip-sentinel.com"><IMG border="0" alt="IP Sentinel Logo" src="cid:120051017261100195@uk-mta-105.uk.mimecast.lan" ></A></td></tr></table>
                <span style="font-family: Open Sans,sans-serif;font-size:8.0pt;color:#222222;"><br>t. <a href="tel:+442030114150" target="_blank">+44 (0)20 3011 4150</a><br></span><span style="font-family: Open Sans,sans-serif;font-size:8.0pt;color:#222222;">m. +44 7786910895<br></span><span style="font-family: Open Sans,sans-serif;font-size:8.0pt;color:#222222">w. <a href="https://www.ip-sentinel.com/" target="_blank">https://www.ip-sentinel.com</a><br></span><table>
                <tbody><tr>
                        </tr>
                <tr>
                        
                </tr>
                <tr>
                        
                </tr>
                <tr>
                        
                </tr>
    </tbody></table>
    <br>
    
On 8 May 2020, at 09:12, John Quick <<a href="mailto:john.quick@smartvox.co.uk" class="">john.quick@smartvox.co.uk</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">James,<br class="">
<br class="">
Just to add to Alexey's last comment, if your SBC *is* changing the<br class="">
transport from UDP to TLS, then you must ensure the correct socket is used<br class="">
on the SBC when it is sending requests to the Teams Proxy:<br class="">
force_send_socket(tls:137.117.136.143:5091);<br class="">
<br class="">
You may also find it helpful to add " AS <a href="http://sbc.ip-sentinel.com:5091" class="">
sbc.ip-sentinel.com:5091</a>" on the<br class="">
end of your tls listen statement<br class="">
<br class="">
John Quick<br class="">
Smartvox Limited<br class="">
Web: <a href="http://www.smartvox.co.uk" class="">www.smartvox.co.uk</a><br class="">
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>



    <p style="font-family: Open Sans, Arial, sans-serif;padding: 5px;background:#D5EAFF">
    <span style="font-family: Open Sans,sans-serif;font-size:8.0pt;color:red">IP Sentinel Disclaimer <br></span>
    <span style="font-family: Open Sans,sans-serif;font-size:6.0pt;color:black">The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. If you are not the intended recipient or have received this email in error, please notify the sender immediately by return email and delete the email from your computer.
E-mail messages may contain computer viruses or other defects, may not be accurately replicated on other systems, or may be intercepted, deleted or interfered with without the knowledge of the sender or the intended recipient. We do not guarantee that either are virus-free and accept no liability for any damage sustained as a result of computer viruses or other defects. 
. IP Sentinel Ltd is a limited company registered in England and Wales under Registered Number 08648097. Registered Office: Newnhams Wood, Horsted Keynes, West Sussex, RH17 7BT. </span>
    </p><span style="font-size:1.0pt;color:white">Q3dhRSrm_disclaimer</span>
</body></html>