Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

MS Teams integration with Avaya SBCE 1

Status
Not open for further replies.

Ajay81

Technical User
Apr 22, 2013
26
AE
Good day Gents,

I have done an integration with MS Team using the Avaya sbce 8.1.1 (refer to the document )
Now I have a problem for the incoming calls from Teams, it disconnects after 30 seconds.
The reason is related to the ACK message that I don't get from teams for the 200OK.
It will be really helpful if someone shared a working sigma in order to compare it with mine just to see if I have missed any parameter in the header.

In the attached image:
SM IP: 172.28.3.239
SBC A2 IP: 172.28.3.167


 
What about the trace on your SBC?

What's your sigma look like?
 
Oh, I just remembered.

I had more luck setting MS's 3 FQDNs like sip.pstn.microsoft.com and sip2.pstn or whatever - putting those in my server configuration, but my routing profile contains those FQDNs as well as all the possible IPs Microsoft might respond from.

Try that.
 
Thanks Kyle for the reply.
I have already added the main and the alternative teams fqdns (sip.pstnhub.microsoft.com, sip2.pstnhub.microsoft.com & sip3.pstnhub.microsoft.com) in both the server config and routing profiles.
Below the sigma that I'm using:
to call teams:
within session "All"
{
act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{if (%HEADERS["Record-Route"][1].regex_match("46.19.72.86")) then
{
%HEADERS["Record-Route"][1].regex_replace("46.19.72.86","sbc-308.dwtc.com");
}
}

}

within session "All"
{
act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{if (%HEADERS["Contact"][1].regex_match("46.19.72.86")) then
{
%HEADERS["Contact"][1].regex_replace("46.19.72.86","sbc-308.dwtc.com");
}
}
}
within session "ALL"
{
act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{
remove(%HEADERS["History-Info"][3]);
remove(%HEADERS["History-Info"][2]);
remove(%HEADERS["History-Info"][1]);
remove(%HEADERS["Remote-Party-ID"][1]); //Remove the header
remove(%HEADERS["Remote-Address"][1]); //Remove the header
remove(%HEADERS["P-AV-Message-Id"][1]); //Remove the header
remove(%HEADERS["x-nt-e164-clid"][1]); //Remove the header
remove(%HEADERS["Av-Global-Session-ID"][1]); //Remove the header
remove(%HEADERS["P-Location"][1]); //Remove the header
remove(%HEADERS["Alert-Info"][1]); //Remove the header
remove(%HEADERS["User-to-User"][1]); //Remove the header
remove(%HEADERS["Max-Breadth"][1]); //Remove the header

}

}
within session "all"
{
act on request where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{
%HEADERS["X-MS-SBC"][1] = "AVAYA SBCE-8.1.1.19214";
}
}
for the incoming calls from teams:

within session "All"
{

act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{
remove(%HEADERS["P-Asserted-Identity"][1]);
}
}

within session "All"
{
act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="AFTER_NETWORK"
{if (%HEADERS["To"][1].regex_match("dwtc.net")) then
{
%HEADERS["To"][1].regex_replace("dwtc.net","172.28.3.167");
remove(%HEADERS["P-Asserted-Identity"][1]);
}
}
}

Also when I try to call teams it disconnects once I answer.
refer to the attached sbc trace.

 
 https://files.engineering.com/getfile.aspx?folder=9dd9daf2-03b6-4d3f-90e7-84826d9f692f&file=Calling_teams_from_Avaya.JPG
Well, Teams is disconnecting because you`re not sending an ACK back.

Make sure you put 8.1.1 hotfix 2

and here's mine

Code:
within session "ALL"
{
    act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
    {
        %HEADERS["Contact"][1].regex_replace("55\.55\.122\.19","mysbc.dr.mylab.com"); //MS wants to see FQDNs, not IPs
        %HEADERS["Contact"][1].regex_replace("sip:","sip:+1");
        %HEADERS["Record-Route"][1].regex_replace("55\.55\.122\.19","mysbc.dr.mylab.com"); //MS wants to see FQDNs, not IPs
        %HEADERS["X-MS-SBC"][1] = "AVAYA SBCE-8.1.1.19158"; //Not sure if this has any functional purpose
        %HEADERS["Allow"][1].regex_replace(" REFER,",""); //Let's see if this fixes hold...
        }
    }
within session "ALL"
{
    act on message where %DIRECTION="INBOUND" and %ENTRY_POINT="AFTER_NETWORK"
    {
        %HEADERS["Request_Line"][1].regex_replace("mysbc\.dr\.mylab\.com","55.55.122.19"); //Avaya wants to see the SBC IP and not FQDN on incoming messages
        %HEADERS["Route"][1].regex_replace("mysbc\.dr\.mylab\.com","55.55.122.19"); //Avaya wants to see the SBC IP and not FQDN on incoming messages
        %HEADERS["Record-Route"][1].regex_replace("mysbc\.dr\.mylab\.com","55.55.122.19"); //Avaya wants to see the SBC IP and not FQDN on incoming messages
        %BODY[1].regex_replace( "a=mid:1\r\n",""); //CM-21733.  CM will CANCEL a call from TEAMS as soon as it gets this SDP attribute in a 183 or any other msg
        remove(%HEADERS["Referred-BY"][1]); //Remove the header
        } 
    }


        
within session "ALL"
{
  act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
  {
    remove(%HEADERS["p-asserted-identity"][1]); //Remove the header
    remove(%HEADERS["Remote-Party-ID"][1]); //Remove the header
    remove(%HEADERS["Remote-Address"][1]); //Remove the header
    remove(%HEADERS["P-AV-Message-Id"][1]); //Remove the header
    remove(%HEADERS["x-nt-e164-clid"][1]); //Remove the header
    remove(%HEADERS["P-Charging-Vector"][1]); //Remove the header
    remove(%HEADERS["Av-Global-Session-ID"][1]); //Remove the header
    remove(%HEADERS["P-Location"][1]); //Remove the header
    remove(%HEADERS["Server"][1]); //Remove the header
    remove(%HEADERS["Av-Call-Appearance"][1]); //Remove the header
    remove(%HEADERS["Contact"][1].URI.PARAMS["gsid"]);
    remove(%HEADERS["Contact"][1].URI.PARAMS["asm"]);
    remove(%HEADERS["Record-Route"][4]); //MS doesn't want these if we're always using the same SBC, we just want to send a contact header
    remove(%HEADERS["Record-Route"][3]); //MS doesn't want these if we're always using the same SBC, we just want to send a contact header
    remove(%HEADERS["Record-Route"][2]); //MS doesn't want these if we're always using the same SBC, we just want to send a contact header
    remove(%HEADERS["Record-Route"][1]); //MS doesn't want these if we're always using the same SBC, we just want to send a contact header
  }
}
 
Thank you Kyle, your sigma helped me a lot.
I have used it with few modifications, and I have added the following in order to remove certain bandwidth attributes since the outgoing calls to team had 1 way audio issue:

within session "ALL"
{
act on request where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{
/*Script to remove attributes (AVF, CSUP, AS & TIAS) in SDP, */
%BODY[1].regex_replace("a=avf:avc=n prio=n\r\n","");
%BODY[1].regex_replace("a=csup:avf-v0\r\n", "");
%BODY[1].regex_replace("b=AS:64\r\n", "");
%BODY[1].regex_replace("b=TIAS:64000\r\n", "");

}
}
/*Script to remove attribute (+avaya-cm-keep-mpro) from Contact Header */
within session "INVITE"
{
act on message where %DIRECTION="OUTBOUND" and %ENTRY_POINT="POST_ROUTING"
{
if (exists(%HEADERS["Contact"][1].PARAMS["+avaya-cm-keep-mpro"])) then
{
remove(%HEADERS["Contact"][1].PARAMS["+avaya-cm-keep-mpro"]);
}
}
}
 
Did you get over your ACK problem?

No more one way?

Can you call from teams out Aura to PSTN, place the call on hold, retrieve, place on hold again, retrieve again OK?

Using the latest hotfix?

Glad it helped!

What CM load are you on? TIAS 64000 is bad news all the time. I'm on 8.1.1 when i last tested. You might be on 7.x?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top