Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated @ 2023-08-09T10:53:38.420117
HTML
headtrue
encodingUTF-8
<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C) Copyright 2023"><meta name="DC.rights.owner" content="(C) Copyright 2023"><meta name="DC.type" content="concept"><meta name="description" content="This configuration notes explains the required configuration to use Microsoft Teams with the Sentinel and an IP PBX."><meta name="prodname" content="Sentinel series"><meta name="version" content="DGW 49.12.28842941"><meta name="platform" content="All"><meta name="DC.date.modified" content="2023-0308-2809"><meta name="DC.date.issued" content="2023-0308-2809"><meta name="DC.date.available" content="2023-0308-2809"><meta name="ChapterNumbering" content="no"><meta name="DC.format" content="HTML5"><meta name="DC.identifier" content="concept_z3h_4ms_hlb"><link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet"><link rel="stylesheet" type="text/css" href="https://documentation.media5corp.com/download/attachments/45481987/commonltr.css"><link rel="stylesheet" type="text/css" href="https://documentation.media5corp.com/download/attachments/45481987/custom.css"><title>Using Teams with the Sentinel PBX only Scenario</title></head><body><header role="banner"><div class="topicmeta title">Using Teams with the Sentinel PBX only Scenario</div><div class="topicmeta date">2023-0308-28<09</div><div class="topicmeta product">Sentinel series</div><div class="topicmeta version">DGW 49.12.2884<2941</div><div class="topicmeta pdf"><a href="https://documentation.media5corp.com/download/attachments/45481987/Using%20Teams%20with%20the%20Sentinel%20PBX%20only%20Scenario.pdf" rel="nofollow">Download PDF Document</a></div><hr><span style="float: inline-end;"></span></header><nav role="toc"><ul><li><a href="#concept_z3h_4ms_hlb">Microsoft Teams Direct Routing and Sentinel Interoperability PBX Scenario</a></li><li><a href="#reference_kr5_vns_hlb">Requirements for MS Teams</a><ul><li><a href="#task_gjn_3ps_hlb">Connecting to MS Teams with PowerShell</a></li><li><a href="#task_zvp_lss_hlb">Configuring MS Teams Voice Routing </a></li></ul></li><li><a href="#reference_obt_35s_hlb">Requirements for the Sentinel</a></li><li><a href="#concept_ww2_pws_hlb">Sentinel Set-Up for Teams</a><ul><li><a href="#task_a5v_y2q_bq">Importing Rulesets</a></li><li><a href="#task_dtt_xx3_jlb">Configuring the Local Firewall</a></li><li><a href="#task_pnm_lxs_hlb">Configuring the Signaling Interfaces</a></li><li><a href="#task_brr_bdt_hlb">Configuring the Media Interfaces</a></li><li><a href="#task_xws_2gt_hlb">Configuring the MS_Teams_Direct_Routing_ca Call Agent</a></li><li><a href="#unique_1474825698387182744">Configuring the lan_ip_pbx_ca Call Agent</a></li><li><a href="#task_kpy_gkt_hlb">Associating Routing Ruleset to the Configuration</a></li></ul></li><li><a href="#reference_anc_3lt_hlb">MS_Teams_to_pbx Routing Ruleset</a></li></ul></nav><main role="main"><article role="article" aria-labelledby="ariaid-title1"><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="nested0" aria-labelledby="ariaid-title1" id="concept_z3h_4ms_hlb">
 <h1 class="title topictitle1" id="ariaid-title1">Microsoft Teams Direct Routing and Sentinel Interoperability PBX Scenario</h1>
 
 <div class="body conbody"><p class="shortdesc">This configuration notes explains the required configuration to use Microsoft Teams with
  the Sentinel and an IP PBX.</p>
  <p class="p"><img class="image" id="concept_z3h_4ms_hlb__image_zbw_kmg_wmb" src="https://documentation.media5corp.com/download/attachments/45481987/TeamswithSentinelPBXscenario.png"></p>
  <div class="p">The Sentinel SBC from Media5 is the Session Border Controller used in the Enterprise model of
   Microsoft. It terminates MS Direct Routing trunk and provides interconnections to various types
   of telephony endpoints, not covered on this document:<ul class="ul" id="concept_z3h_4ms_hlb__ul_ehn_dns_hlb">
    <li class="li">External 3rd party SIP trunk</li>
    <li class="li">PRI or FXS/FXO telephony interfaces to legacy PBX </li>
    <li class="li">Analog telephone adaptors (ATA)</li>
   </ul></div>
  <p class="p">For more information on the Microsoft Direct Route planning, visit: <a class="xref" href="https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan" target="_blank">https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan</a>.</p>
 </div>
</article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic reference nested0" aria-labelledby="ariaid-title2" id="reference_kr5_vns_hlb">
  <h1 class="title topictitle1" id="ariaid-title2">Requirements for MS Teams</h1>
  <div class="body refbody">
    <section class="section">
      <ul class="ul" id="reference_kr5_vns_hlb__ul_m3p_b4s_hlb">
        <li class="li">Refer to the following link for MS Teams direct routing requirements: <a class="xref" href="https://docs.microsoft.com/en-us/microsoftteams/onboarding-checklist-enable-office-365" target="_blank">https://docs.microsoft.com/en-us/microsoftteams/onboarding-checklist-enable-office-365</a></li>
        <li class="li">A publicly resolvable FQDN for the Sentinel. The FQDN must be in one of the domains
          defined under your Microsoft Teams account. For example the SBC FQDN is set to
            <samp class="ph msgph">sbcteams.mediatrix.com</samp>, which is under the mediatrix.com domain.
          <br><img class="image" id="reference_kr5_vns_hlb__image_z53_m4s_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/TeamsDomains.png" width="800"><br></li>
        <li class="li">At least one Microsoft Teams user must be created under the same domain. In our example,
          we have created one such account: <samp class="ph msgph">media5user@mediatrix.com</samp></li>
        <li class="li">DID Phone Numbers to dial in, you can get DID phone numbers under Microsoft Teams admin
          Center/Users/Phone Numbers and assign it to a specific user (or auto-attendant, which is a pseudo-user).
          <br><img class="image" id="reference_kr5_vns_hlb__image_frx_1ps_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/TeamsPhoneNumbers.png" width="500"><br></li>
      </ul>
      
    </section>
  </div>
<hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title3" id="task_gjn_3ps_hlb">
    <h2 class="title topictitle2" id="ariaid-title3">Connecting to MS Teams with PowerShell</h2>
    <div class="body taskbody">
        <section class="section prereq"><div class="tasklabel"><strong class="sectiontitle tasklabel">Before you begin</strong></div>Microsoft Visual C++ 2017 x 64 Minimum Runtime - 14.10.25008 package must be
            installed. </section>
        <section id="task_gjn_3ps_hlb__steps_aqw_4ps_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_gjn_3ps_hlb__steps_aqw_4ps_hlb"><li class="li step">
                <span class="ph cmd">Download and install Power Shell: <a class="xref" href="https://docs.microsoft.com/en-us/SkypeForBusiness/set-up-your-computer-for-windows-powershell/set-up-your-computer-for-windows-powershell" target="_blank">https://docs.microsoft.com/en-us/SkypeForBusiness/set-up-your-computer-for-windows-powershell/set-up-your-computer-for-windows-powershell</a></span>
            </li><li class="li step">
                <span class="ph cmd">Open PowerShell from your PC. Run it as Administrator. </span>
            </li><li class="li step">
                <span class="ph cmd">Install Microsoft Teams module if needed:  <a class="xref" href="https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell-install#install-the-teams-powershell-module" target="_blank">https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell-install#install-the-teams-powershell-module</a></span>
            </li><li class="li step">
                <span class="ph cmd">Type <span class="keyword cmdname">Set-executionPolicy –ExecutionPolicy RemoteSigned</span></span>
            </li><li class="li step">
                <span class="ph cmd">Click  <span class="keyword wintitle">Yes</span> to all.</span>
            </li><li class="li step">
                <span class="ph cmd">Enter <span class="keyword cmdname">Import-Module MicrosoftTeams</span></span>
            </li><li class="li step">
                <span class="ph cmd">Enter <span class="keyword cmdname">Connect-MicrosoftTeams</span></span>
            </li><li class="li step">
                <span class="ph cmd">Enter your tenant admin user name and password.</span>
            </li></ol></section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="#task_zvp_lss_hlb">Configuring MS Teams Voice Routing</a></li></ul></div></nav></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title4" id="task_zvp_lss_hlb">
    <h2 class="title topictitle2" id="ariaid-title4">Configuring MS Teams Voice Routing </h2>
    <div class="body taskbody">
        <section class="section context"><div class="tasklabel"><strong class="sectiontitle tasklabel">Context</strong></div></section>
        <section id="task_zvp_lss_hlb__steps_wg3_rss_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_zvp_lss_hlb__steps_wg3_rss_hlb"><li class="li step stepexpand">
                <span class="ph cmd">In the MS Teams PowerShell, enter the command to create the Direct Routing SIP
                    trunk. </span>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> For example <span class="keyword cmdname">New-CsOnlinePSTNGateway –Fqdn sbcteams.mediatrix.com
                            -SipSignalingPort 5061 -MaxConcurrentSessions 5 -Enabled
                        $true</span></div>
                </div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Enter the command to create the actual voice route that will be used to route
                    calls to the SBC.</span>
                <div class="itemgroup info">For example
                    <pre class="pre codeblock"><code>Set-CsOnlinePstnUsage –Identity Global –Usage @{Add=”Montreal514Sherbrooke819”}</code></pre>
                    and
                    <pre class="pre codeblock"><code>New-CsOnlineVoiceRoute -Identity "Montreal Sherbrooke" -NumberPattern "^\+1(514|819)(\d{7})$" 
-OnlinePstnGatewayList sbcteams.mediatrix.com -Priority 1 -OnlinePstnUsages "Montreal514Sherbrooke819"</code></pre>
                    and
                    <pre class="pre codeblock"><code>New-CsOnlineVoiceRoutingPolicy "Montreal Sherbrooke" -OnlinePstnUsages "Montreal514Sherbrooke819"</code></pre></div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Enter the command to assign the routing policy to the users.</span>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> For example <span class="keyword cmdname">Grant-CsOnlineVoiceRoutingPolicy –Identity
                            "user1@mediatrix.com" –PolicyName "Montreal Sherbrooke"</span></div>
                </div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">In case you need to assign an OnPremise number to specific user, enter the command:</span>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> For example <span class="keyword cmdname">Set-CsUser -Identity "user1@mediatrix.com"
                            -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI
                            tel:42565</span></div>
                </div>
            </li></ol></section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="#task_a5v_y2q_bq">Importing Rulesets</a></li></ul></div></nav></article></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic reference nested0" aria-labelledby="ariaid-title5" id="reference_obt_35s_hlb">
  <h1 class="title topictitle1" id="ariaid-title5">Requirements for the Sentinel</h1>
  <div class="body refbody">
    <section class="section">
      <ul class="ul" id="reference_obt_35s_hlb__ul_pgx_p5s_hlb">
        <li class="li">DGW software version: MediatrixSentinel_Dgw_48.0.2430 or newer.</li>
        <li class="li">Rulesets created to use Teams with the Sentinel. Contact your sales representative. </li>
        <li class="li">A server certificate with the SBC FQDN in the Common Name or Subject Alternative Name
          signed by one of the approved public CA by Microsoft. In our test, the SBC host
          certificate was signed by Comodo (one-month Free Trial):
          <ul class="ul" id="reference_obt_35s_hlb__ul_jkk_r5s_hlb">
            <li class="li">Key length 2048 bits</li>
            <li class="li">Signature Hash algorithm: SHA 256</li>
            <li class="li">Extended Usage: ClientAuthentication and ServerAuthentication</li>
            <li class="li">Common Name: <samp class="ph msgph">sbcteams.mediatrix.com</samp></li>
            <li class="li">SAN may contain wild card FQDN, most root CA will charge extra for that; the Comodo
              free trial does not allow that so it was skipped</li>
            <li class="li"><br><img class="image" id="reference_obt_35s_hlb__image_fth_x5s_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/TeamsCertificate.png" width="500"><br></li>
          </ul></li>
        <li class="li">Generate the necessary CSR (Certificate Signing Request), and later combine the private
          key and the CA signed certificate to form a host certificate to upload to the Sentinel:
          Refer to <a class="xref" href="https://documentation.media5corp.com/display/DGWLATEST/Creating+a+Media5+Device+Host+Certificate+with+OpenSSL" target="_blank">https://documentation.media5corp.com/display/DGWLATEST/Creating+a+Media5+Device+Host+Certificate+with+OpenSSL</a></li>
        <li class="li">Install Baltimore Cybertrust Root CA certificate on the SBC (<a class="xref" href="https://www.digicert.com/digicert-root-certificates.htm" target="_blank">https://www.digicert.com/digicert-root-certificates.htm</a>); 
          this is to validate against MS Teams servers
            (<samp class="ph msgph">sip.pstnhub.microsoft.com</samp>, <samp class="ph msgph">sip2.pstnhub.microsoft.com</samp>,
            <samp class="ph msgph">sip3.pstnhub.microsoft.com</samp>)</li>
        <li class="li">Associate the host certificate to the SBC service. Make sure only 1 certificate is
          associated to it. Refer to <a class="xref" href="https://documentation.media5corp.com/display/DGWLATEST/Using+Trusted+CA+and+Host+Certificates" target="_blank">https://documentation.media5corp.com/display/DGWLATEST/Using+Trusted+CA+and+Host+Certificates</a> for more details. </li>
        <li class="li">To speed up incoming calls from Teams, as calls from Teams Direct Routing server may
          come from another IP (not the same as the ones resolved by DNS), set up the following
          static DNS entries
          <pre class="pre codeblock"><code>Hoc.StaticHosts.DeleteAllRows
Hoc.InsertStaticHost Name="sip.pstnhub.microsoft.com"
IpAddresses="52.114.132.46,52.114.148.0,52.114.132.46,52.114.75.24,
52.114.76.76,52.114.7.24,52.114.14.70"

#the sequence of IP addresses may vary from region to region, ping MS Teams FQDN 
to find out what it is resolved into for your region</code></pre></li>
      </ul>
      <div class="note note note_note"><span class="note__title">Note:</span> There are also different FQDNs for US government and Department of Defense,
        please follow the MS Teams Direct Routing planning document. You can find the IP addresses
        for these domains there.</div>
    </section>
  </div>
</article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic concept nested0" aria-labelledby="ariaid-title6" id="concept_ww2_pws_hlb">
 <h1 class="title topictitle1" id="ariaid-title6">Sentinel Set-Up for Teams</h1>
 
 <div class="body conbody"><p class="shortdesc">The following is the Network topology tested in this setup.</p>
  <div class="p">
      <ul class="ul" id="concept_ww2_pws_hlb__ul_wgv_bq5_wmb">
        <li class="li">A FreePBX (peered to lan_ip_pbx_ca call agent) is used as the enterprise IP PBX. It has
          a SIP trunk pointing to the Sentinel SBC, signaling is plain UDP and media is un-encrypted
          RTP</li>
        <li class="li">The Microsoft Direct Routing trunk is peered to the MS_Teams_Direct_Routing_ca call
          agent. The signaling with MS Teams is over TLS and media is encrypted with sRTP.</li>
        <li class="li">The topology between FreePBX and MS Teams is as follows:<br><img class="image" id="concept_ww2_pws_hlb__image_swg_vbr_jlb" src="https://documentation.media5corp.com/download/attachments/45481987/TeamsSetupPBX.png" width="800"><br></li>
        <li class="li">The Sentinel SBC is deployed behind a NAT firewall and only the Uplink interface is
          used. TCP port 5061, as well as UDP 21000-21010, are port forwarded to the SBC by the NAT
          firewall. </li>
      </ul>
    </div>
 </div>
<hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title7" id="task_a5v_y2q_bq">
    <h2 class="title topictitle2" id="ariaid-title7">Importing Rulesets</h2>
    <div class="body taskbody">
        <section class="section prereq"><div class="tasklabel"><strong class="sectiontitle tasklabel">Before you begin</strong></div>Rulesets must first be imported. Contact your sales representative to obtain the
            required rulesets to use Teams with the Sentinel. </section>
        <section class="section context"><div class="tasklabel"><strong class="sectiontitle tasklabel">Context</strong></div>This procedure is valid for Call Agent and Routing Rulesets.</section>
        <section><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps"><li class="li step stepexpand">
                <span class="ph cmd">Go to <span class="keyword wintitle">Management</span>/<span class="keyword wintitle">File</span>.</span>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> Step 2 is only required when importing the first Ruleset and if you are
                        not using a secure connection to access the Management Interface
                        (http://).</div>
                </div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Click <span class="keyword wintitle">Activate unsecure
                file importation from the Web browser</span>.</span>
            </li><li class="li step stepexpand">
                <span class="ph cmd">From the <span class="keyword wintitle">Path</span> field,
                    select sbc/rulesets/.</span>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Click <span class="keyword wintitle">Browse</span>, and
                    navigate to the following Rulesets to import: </span>
                <ol type="a" class="ol substeps" id="task_a5v_y2q_bq__substeps_n2q_mqj_t2b">
                    <li class="li substep">
                        <span class="ph cmd">force_media_plain_rtp_handle_replaces.crs</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd">MS_Teams_interop.crs</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd">MS_Teams_PBX_routes.rrs</span>
                    </li>
                </ol>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> Ruleset file extension must be *.crs for Call Agent Rulesets or *.rrs for
                        Routing Rulesets.</div>
                </div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Click <span class="keyword wintitle">Import</span>.</span>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div>The imported Rulesets will appear in the <span class="keyword wintitle">Internal files</span> table, with the
            selected path in front of the name. The Ruleset will be available in the tables of the
                <span class="keyword wintitle">SBC</span>/<span class="keyword wintitle">Rulesets</span> page.<br><img class="image" id="task_a5v_y2q_bq__image_x2z_fxl_hs" src="https://documentation.media5corp.com/download/attachments/45481987/ImportFileThroughWebBrowser_ruleset.png" width="800"><br></section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="#task_dtt_xx3_jlb">Configuring the Local Firewall</a></li></ul></div></nav></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title8" id="task_dtt_xx3_jlb">
    <h2 class="title topictitle2" id="ariaid-title8">Configuring the Local Firewall</h2>
    <div class="body taskbody">
        <section class="section context"><div class="tasklabel"><strong class="sectiontitle tasklabel">Context</strong></div>
            <p class="p">Use this procedure if you cannot apply the specific firewall rules at the external
                NAT firewall outlined in the Microsoft Direct Routing Planning guide: <a class="xref" href="https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan" target="_blank">https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan</a></p>
            <p class="p">More information about configuring local firewall rules on DGW is available on: <a class="xref" href="https://documentation.media5corp.com/display/DGWLATEST/Configuring+Local+Firewalls" target="_blank">https://documentation.media5corp.com/display/DGWLATEST/Configuring+Local+Firewalls</a></p>
        </section>
        <section id="task_dtt_xx3_jlb__steps_hr2_qdj_jlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_dtt_xx3_jlb__steps_hr2_qdj_jlb"><li class="li step">
                <span class="ph cmd">Go to <span class="keyword wintitle">Network</span>/<span class="keyword wintitle">Local Firewall</span>.</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Local Firewall Rules</span> table,
                    complete the fields for each rule managing the TCP packets as follows:</span>
                <ol type="a" class="ol substeps" id="task_dtt_xx3_jlb__substeps_kxt_zdj_jlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Activation</span>: <span class="keyword wintitle">Enable</span></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Source Address</span>: IP address of the TCP incoming packet. </span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Destination Address</span>: <span class="keyword wintitle">Uplink</span></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Protocol</span>: <span class="keyword wintitle">TCP</span></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Destination Port</span>: 5061</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Action</span>: <span class="keyword wintitle">Accept</span></span>
                    </li>
                </ol>
            </li><li class="li step">
                <span class="ph cmd">Complete the fields for each rule managing the UDP packets as follows:</span>
                <ol type="a" class="ol substeps" id="task_dtt_xx3_jlb__substeps_ssk_lfj_jlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Activation</span>: <span class="keyword wintitle">Enable</span></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Source Address</span>: IP address of the UDP incoming packet. </span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Destination Address</span>: <span class="keyword wintitle">Uplink</span></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Source Port</span>: Source port of the incoming UDP packet.</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Protocol</span>: <span class="keyword wintitle">UDP</span></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Destination Port</span>=30000-30999</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Action</span>: <span class="keyword wintitle">Accept</span></span>
                    </li>
                </ol>
            </li><li class="li step">
                <span class="ph cmd">Click <span class="keyword wintitle">Save &amp; Apply</span>.</span>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div>For example <br><img class="image" id="task_dtt_xx3_jlb__image_hdc_zfj_jlb" src="https://documentation.media5corp.com/download/attachments/45481987/Localfirewall_Teams.png" width="800"><br></section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="#task_pnm_lxs_hlb">Configuring the Signaling Interfaces</a></li></ul></div></nav></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title9" id="task_pnm_lxs_hlb">
    <h2 class="title topictitle2" id="ariaid-title9">Configuring the Signaling Interfaces</h2>
    <div class="body taskbody">
        <section id="task_pnm_lxs_hlb__steps_v4j_4ys_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_pnm_lxs_hlb__steps_v4j_4ys_hlb"><li class="li step stepexpand">
                <span class="ph cmd">Go to <span class="keyword wintitle">SBC</span>/<span class="keyword wintitle">Configuration</span>.</span>
            </li><li class="li step stepexpand">
                <span class="ph cmd">In the <span class="keyword wintitle">Signaling Interface Configuration</span> cable, configure the pbx_s as follows: </span>
                <ol type="a" class="ol substeps" id="task_pnm_lxs_hlb__substeps_wxr_yys_hlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Name</span>:
                            pbx_s</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Network</span>:
                            Uplink</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Port</span>:
                            5062</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Secure Port</span> :
                            5063</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Allowed Transport</span>:
                            All</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">TLS Mode</span>:
                            Client</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Public Address</span>: leave empty</span>
                    </li>
                </ol>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> This is the signaling interface used by the LAN IP PBX (no NAT)</div>
                </div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Click <img class="image" id="task_pnm_lxs_hlb__image_r4f_3ct_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/Plusbleu.jpg" width="15"> and complete the fields as follows.</span>
                <ol type="a" class="ol substeps" id="task_pnm_lxs_hlb__substeps_s4f_3ct_hlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Name</span>:
                            teams_s</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Network</span>:
                            Uplink</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Port</span>:
                            5060</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Secure Port</span> :
                            5061</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Allowed Transport</span>:
                            TlsOnly</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">TLS Mode</span>:
                            Both</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Public Address</span>: FQDN assigned to the SBC</span>
                    </li>
                </ol>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> This is the signaling interface used by MS Teams (interface set to TLS
                        only), the public address field must contain the FQDN assigned to the SBC
                        (this is mandatory for MS Teams to require the FQDN in the SIP Contact host
                        part, otherwise it will reply with a SIP 403 Forbidden)</div>
                </div>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div><img class="image" id="task_pnm_lxs_hlb__image_x5l_t2t_wmb" src="https://documentation.media5corp.com/download/attachments/45481987/SignalingInterfaceConfiguration_Teams_PBXScenario_%282%29.png" width="800"></section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="#task_brr_bdt_hlb">Configuring the Media Interfaces</a></li></ul></div></nav></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title10" id="task_brr_bdt_hlb">
    <h2 class="title topictitle2" id="ariaid-title10">Configuring the Media Interfaces</h2>
    <div class="body taskbody">
        <section class="section context"><div class="tasklabel"><strong class="sectiontitle tasklabel">Context</strong></div></section>
        <section id="task_brr_bdt_hlb__steps_hrr_fdt_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_brr_bdt_hlb__steps_hrr_fdt_hlb"><li class="li step stepexpand">
                <span class="ph cmd">Go to <span class="keyword wintitle">SBC</span>/<span class="keyword wintitle">Configuration</span>.</span>
            </li><li class="li step stepexpand">
                <span class="ph cmd">in the <span class="keyword wintitle">Media Interface Configuration</span>
                    table, configure the pbx_m Media interface as follows:</span>
                <ol type="a" class="ol substeps" id="task_brr_bdt_hlb__substeps_eb5_kdt_hlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Name</span>:
                            pbx_m</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Network</span>:
                            Uplink</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Port Range</span>:
                            21000-21200</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Public Address</span>: leave empty</span>
                    </li>
                </ol>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> This is the media interface used by the LAN IP PBX (no NAT)</div>
                </div>
            </li><li class="li step stepexpand">
                <span class="ph cmd">Click <img class="image" id="task_brr_bdt_hlb__image_hc4_tdt_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/Plusbleu.jpg" width="15"> and configure the fields as follows: </span>
                <ol type="a" class="ol substeps" id="task_brr_bdt_hlb__substeps_kfl_rdt_hlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Name</span>:
                            teams_m</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Network</span>:
                            Uplink</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Port Range</span>:
                            30000-30999</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Public Address</span>: external Public IP address of the SBC</span>
                    </li>
                </ol>
                <div class="itemgroup info">
                    <div class="note note note_note"><span class="note__title">Note:</span> This is the media interface used by MS Teams (with near end NAT enabled,
                        public IP address assigned)</div>
                </div>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div><img class="image" id="task_brr_bdt_hlb__image_fsp_wft_wmb" src="https://documentation.media5corp.com/download/attachments/45481987/MediaInterfaceConfiguration-Teams_%282%29.png" width="800"></section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="Source/Sbc/t_ConfiguringtheMSTeamsDirectRoutingCallAgent_PBXScenario.html">Configuring the MS_Teams_Direct_Routing_ca Call Agent</a></li></ul></div></nav></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title11" id="task_xws_2gt_hlb">
    <h2 class="title topictitle2" id="ariaid-title11">Configuring the MS_Teams_Direct_Routing_ca Call Agent</h2>
    <div class="body taskbody">
        <section id="task_xws_2gt_hlb__steps_hnw_hgt_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_xws_2gt_hlb__steps_hnw_hgt_hlb"><li class="li step">
                <span class="ph cmd">Go to <span class="keyword wintitle">SBC</span>/<span class="keyword wintitle">Configuration</span>.</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Call Agent Configuration</span>
                    table, click <img class="image" id="task_xws_2gt_hlb__image_lwz_ygt_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/Plusbleu.jpg" width="15">.</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Configure Call Agent</span> table,
                    complete the fields as follows: </span>
                <ol type="a" class="ol substeps" id="task_xws_2gt_hlb__substeps_ukj_dht_hlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Name</span>: MS_Teams_Direct_Routing_ca</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Enable</span>: checked</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Signaling Interface</span>: teams_s</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Media Interface</span>: teams_m</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Peer Host</span>:
                                <samp class="ph msgph">sip.pstnhub.microsoft.com:5061</samp></span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Force Transport</span>: Tls</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Keep-Alive Interval</span>: 30</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Blacklisting Duration</span>: 60</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Blacklisting Delay</span>: 0</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Custom Header</span>: <samp class="ph msgph">X-MS-SBC: Mediatrix/%productseries%/%version%</samp></span>
                    </li>
                </ol>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Call Agent Rulesets</span> table,
                    from the <span class="keyword wintitle">Name</span> select MS_Teams_interop.</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Parameters</span>
                    field, enter the CC=Country Code and the DIGITS=Number of digits of CC  + 1,
                    eg.<span class="keyword cmdname">CC=1 DIGITS=2</span>, or <span class="keyword cmdname">CC=34 DIGITS=3</span>.</span>
            </li><li class="li step">
                <span class="ph cmd">Click <span class="keyword wintitle">Save</span>.</span>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div>
            <br><img class="image" id="task_xws_2gt_hlb__image_epw_tnb_jlb" src="https://documentation.media5corp.com/download/attachments/45481987/Configure_MS_Teams_Direct_RoutingCallAgent.png" width="800"><br>
        </section>
    </div>
</article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title12" id="unique_1474825698387182744">
    <h2 class="title topictitle2" id="ariaid-title12">Configuring the lan_ip_pbx_ca Call Agent</h2>
    <div class="body taskbody">
        <section id="unique_1474825698387182744__steps_hnw_hgt_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="unique_1474825698387182744__steps_hnw_hgt_hlb"><li class="li step">
                <span class="ph cmd">Go to <span class="keyword wintitle">SBC</span>/<span class="keyword wintitle">Configuration</span>.</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Call Agent Configuration</span> table, 
                    click <img class="image" id="unique_1474825698387182744__image_d55_3jt_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/pencilbleu.jpg" width="15"> located on the same line as lan_ip_pbx_ca</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Configure Call Agent</span> table, complete the fields as follows: </span>
                <ol type="a" class="ol substeps" id="unique_1474825698387182744__substeps_ukj_dht_hlb">
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Name</span>: lan_ip_pbx_ca</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Enable</span>: checked</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Signaling Interface</span>: pbx_s</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Media Interface</span>: pbx_m</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Peer Host</span>: IP address of the local IP PBX</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Force Transport</span>: none</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Keep-Alive Interval</span>: 30</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Blacklisting Duration</span>: 0</span>
                    </li>
                    <li class="li substep">
                        <span class="ph cmd"><span class="keyword wintitle">Blacklisting Delay</span>: 0</span>
                    </li>
                </ol>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Call Agent Rulesets</span> table,
                    from the <span class="keyword wintitle">Name</span> select
                    force_media_plain_rtp_handle_replaces</span>
            </li><li class="li step">
                <span class="ph cmd">Click <span class="keyword wintitle">Save</span>.</span>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div>
            <br><img class="image" id="unique_1474825698387182744__image_en1_f4b_jlb" src="https://documentation.media5corp.com/download/attachments/45481987/ConfigureCallAgent_lan_ip_pbx_ca_Teams.png" width="800"><br>
        </section>
    </div>
<nav role="navigation" class="related-links"><div class="linklist relinfo reltasks"><div class="linklistlabel"><strong class="sectiontitle linklistlabel">Next Step</strong></div><ul class="linklist"><li class="linklist"><a class="link" href="#task_kpy_gkt_hlb">Associating Routing Ruleset to the Configuration</a></li></ul></div></nav></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic task nested1" aria-labelledby="ariaid-title13" id="task_kpy_gkt_hlb">
    <h2 class="title topictitle2" id="ariaid-title13">Associating Routing Ruleset to the Configuration</h2>
    <div class="body taskbody">
        <section id="task_kpy_gkt_hlb__steps_em1_lkt_hlb"><div class="tasklabel"><strong class="sectiontitle tasklabel">Steps</strong></div><ol class="ol steps" id="task_kpy_gkt_hlb__steps_em1_lkt_hlb"><li class="li step">
                <span class="ph cmd">Go to <span class="keyword wintitle">SBC</span>/<span class="keyword wintitle">Configuration</span>.</span>
            </li><li class="li step">
                <span class="ph cmd">In the <span class="keyword wintitle">Routing Rulesets</span> table, click <img class="image" id="task_kpy_gkt_hlb__image_wnm_wkt_hlb" src="https://documentation.media5corp.com/download/attachments/45481987/Plusbleu.jpg" width="15">.</span>
            </li><li class="li step">
                <span class="ph cmd">From the <span class="keyword wintitle">Name</span>
                    selection list, choose MS_Teams_PBX_routes</span>
            </li><li class="li step">
                <span class="ph cmd">Click <span class="keyword wintitle">Apply</span>.</span>
            </li></ol></section>
        <section class="section result"><div class="tasklabel"><strong class="sectiontitle tasklabel">Result</strong></div><img class="image" id="task_kpy_gkt_hlb__image_vdm_mmt_wmb" src="https://documentation.media5corp.com/download/attachments/45481987/AssoiatingRoutingRulesetstoyourConfiguration_Teams_PBXScenario.PNG" width="800"></section>
    </div>
</article></article><hr><span style="float: inline-end;"><a href="#">Top</a></span><article class="topic reference nested0" aria-labelledby="ariaid-title14" id="reference_anc_3lt_hlb">
  <h1 class="title topictitle1" id="ariaid-title14">MS_Teams_to_pbx Routing Ruleset</h1>
  <div class="body refbody">
    <section class="section"><ul class="ul" id="reference_anc_3lt_hlb__ul_ics_pgj_jlb">
        <li class="li">If the MS Teams client dials any number, the call is routed to lan_ip_pbx_ca, i.e.
          FreePBX.</li>
        <li class="li">If the call is initiated from the FreePBX, the call is routed to MS Teams, transport is
          forced to TLS.</li>
      </ul><img class="image" id="reference_anc_3lt_hlb__image_et4_bnt_wmb" src="https://documentation.media5corp.com/download/attachments/45481987/RoutingRuleset_MsTeamsToPbx_PBXScenarioUpdated.PNG" width="800"></section>
  </div>
</article></article></main></body></html>