Cisco Cisco Expressway

Page of 74
Expressway to Microsoft client calls fail – Hardware Load Balancer (HLB)
If the Microsoft environment has FE Servers with a hardware load balancer in front, ensure that the Expressway is 
neighbored with the HLB. If it is neighbored directly with a FE Server, trust for Expressway will be with the FE Server.
Expressway will send call requests to the FE Server, which record-routes the message such that the ACK response 
should be sent to the HLB. The ACK sent to the HLB gets rejected by Lync Server, so Lync clears the call after the SIP 
timeout because the FE Server did not see the ACK.
(Calls from Microsoft client – registered to the FE Server– to Expressway may still work.) 
Media Problems in Calls Involving External Microsoft clients Connecting via an Edge 
Server
RTP over TCP/UDP
The Edge server supports RTP media over both TCP and UDP, whereas the B2BUA and standards based video 
endpoints only support RTP over UDP. The Edge server and any firewalls that the Edge server may pass media traffic 
through may need to be reconfigured to allow RTP over UDP as well as RTP over TCP to be passed.
ICE negotiation failure
This can usually be detected by the call clearing with a BYE with reason header “failed to get media connectivity”.
Video endpoints only support UDP media. ICE usually offers 3 candidates:
 
Host (private IP)
 
Server Reflexive (outside IP address of firewall local to the media supplying agent – B2BUA or Microsoft Client)
 
TURN server (typically the Edge Server/Expressway-E)
For ICE to work where an endpoint is behind a firewall, the endpoint must offer at least one publicly accessible 
address (the Server Reflexive address or the TURN server address). This is used both for the B2BUA to try and send 
media to, but also to validate bind requests sent to the Expressway-E’s TURN server – bind requests are only 
accepted by the TURN server if they come from an IP address that is ‘known’.
If a Microsoft INVITE offers only host candidates for UDP, for example:
 
a=candidate:1 1 UDP 2136431 192.168.1.7 30580 typ host
 
a=candidate:1 2 UDP 2135918 192.168.1.7 30581 typ host
 
a=candidate:2 1 TCP-ACT 1688975 192.168.1.7 30580 typ srflx raddr 192.168.1.7 rport 30580
 
a=candidate:2 2 TCP-ACT 1688462 192.168.1.7 30580 typ srflx raddr 192.168.1.7 rport 30580 
...only one UDP candidate (two lines, one for RTP and one for RTCP) and they are for the host (private, presumably 
non-routable by Expressway address)
and the B2BUA responds, for example:
 
a=candidate:1 1 UDP 2136431 84.233.149.125 56056 typ host
 
a=candidate:1 2 UDP 2136430 84.233.149.125 56057 typ host
 
a=candidate:4 1 UDP 1677215 194.100.47.5 60000 typ relay raddr 84.233.149.125 rport 56056
 
a=candidate:4 2 UDP 1677214 194.100.47.5 60001 typ relay raddr 84.233.149.125 rport 56057 
...Host and Relay candidates are both offered.
Neither device will be able to reach the other’s private (host) address, and if the Microsoft client tries to bind to the 
Expressway-E TURN server it will get rejected because the request will come from the server reflexive address rather 
than private address and Microsoft client has not told the B2BUA what that IP address is.
Thus, FE Server and the Microsoft Edge Server must be configured such that a Microsoft client offers at least one 
public address with UDP media for this scenario to work.
Note that in the above scenario the B2BUA may not offer the Server Reflexive address if the Server Reflexive address 
is seen to be the same as the host address.
55
Cisco Expressway with Microsoft Infrastructure Deployment Guide
Appendix 1:  Troubleshooting