Introduction
Este documento descreve como solucionar problemas de áudio unidirecional para chamadas entre o VCS (Video Communication Server, Servidor de comunicação de vídeo) e o CUCM (Cisco Unified Communications Manager).
Problema
Uma chamada como essa, Endpoint 1—H323—VCS—SIP—CUCM—Endpoint 2, pode resultar em áudio unidirecional onde o Endpoint 1 não ouve o Endpoint 2.
Aqui está a análise de log do VCS.
O VCS envia o 200 OK para o Call Manager:
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,296"
Module="network.sip" Level="DEBUG": Dst-ip="10.69.12.2" Dst-port="60493"
SIPMSG:
|SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.69.12.2:5060;branch=z9hG4bK2359e3e241306;received=
10.69.12.2;ingress-zone=CUCMNeighbour
Call-ID: 8935a699d9e9e3f8@127.0.0.1
CSeq: 102 INVITE
Contact: <sip:AVS.EX60.-.Elliott@172.17.254.1>
From: <sip:00419241145@10.69.11.1:5060>;tag=6417ce1c-8b93-4ba0-859a-ad892a39
e373-92748854
To: <sip:AVS.EX60.-.Elliott@172.17.254.1>;tag=27b6f95b717b59fc
v=0
o=tandberg 0 3 IN IP4 127.0.0.1
s=-
c=IN IP4 172.17.254.1
b=AS:512
t=0 0
m=audio 51390 RTP/AVP 0 101
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=rtcp:51391 IN IP4 172.17.254.1
Antes do MasterSlaveCalculation, o VCS tenta enviar um OpenLogicalChannel (OLC) para o endpoint, o que resulta na rejeição de endpoint do OLC:
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,366"
Module="network.h323" Level="DEBUG": Dst-ip="172.19.83.180" Dst-port="11158"
Sending H.245 PDU:
value MultimediaSystemControlMessage ::= request : openLogicalChannel :
{
forwardLogicalChannelNumber 1,
forwardLogicalChannelParameters
{
dataType audioData : g711Ulaw64k : 40,
multiplexParameters h2250LogicalChannelParameters :
{
sessionID 1,
mediaControlChannel unicastAddress : iPAddress :
{
network 'AC11FE01'H,
tsapIdentifier 51669
},
transportCapability
{
mediaChannelCapabilities
{
{
mediaTransport ip-UDP : NULL
}
}
}
}
}
}
Aqui está o MasterSlaveCalculation do endpoint:
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,475"
Module="network.h323" Level="INFO": Src-ip="172.19.83.180" Src-port="11158"
Detail="Received H.245 MasterSlaveDeterminationRequest "
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,475"
Module="network.h323" Level="DEBUG": Src-ip="172.19.83.180" Src-port="11158"
Received H.245 PDU:
value MultimediaSystemControlMessage ::= request : masterSlaveDetermination :
{
terminalType 190,
statusDeterminationNumber 8028716
}
Aqui está MasterSlaveDeterminaçãoAck para o endpoint:
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,475"
Module="network.h323" Level="INFO": Dst-ip="172.19.83.180" Dst-port="11158"
Detail="Sending H.245 MasterSlaveDeterminationAckResponse Master"
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,475"
Module="network.h323" Level="DEBUG": Dst-ip="172.19.83.180" Dst-port="11158"
Sending H.245 PDU:
value MultimediaSystemControlMessage ::= response : masterSlaveDeterminationAck :
{
decision master : NULL
}
A rejeição do OLC pelo endpoint resulta em áudio unidirecional, porque o OLC vem antes da MasterSlaveDeterminação.
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,519"
Module="network.h323" Level="INFO": Src-ip="172.19.83.180" Src-port="11158"
Detail="Received H.245 OpenLogicalChannelRejResponse "
2014-01-23T12:40:10+11:00 vcs-cont-pro-1 tvcs: UTCTime="2014-01-23 01:40:10,519"
Module="network.h323" Level="DEBUG": Src-ip="172.19.83.180" Src-port="11158"
Received H.245 PDU:
value MultimediaSystemControlMessage ::= response : openLogicalChannelReject :
{
forwardLogicalChannelNumber 1,
cause masterSlaveConflict : NULL
}
Solução
Esse problema é causado pelo bug da Cisco ID CSCuc98144 e a correção é desativar permitir CONVITE vazio no perfil de zona VCS para a zona CUCM. Isso força o VCS a enviar um CONVITE inicial com um Session Description Protocol (SDP) pré-configurado, que permite que a chamada se conecte com áudio em ambas as direções.
Em VCS Configuration -> Zones -> Zones, selecione CUCM zone e altere os campos indicados nesta captura de tela:

A outra opção é atualizar o VCS para a versão X8.1.1, onde o problema é resolvido.
Note: Esse é apenas um dos motivos pelos quais uma chamada pode ter áudio unidirecional.