[cisco-voip] H323/MGCP T.38 Issue & CCM Trace

Daniel Pagan dpagan at fidelus.com
Thu Oct 17 10:10:10 EDT 2013


Certainly makes sense. I'm asking the customer for more information on the fax solution and we'll hopefully be able to make that change. If not, Fast Start will become the permanent solution. Plus, considering it's was already attempting to use outbound FS, my guess is this was somehow disabled for inbound on the trunk during or post-upgrade to 9.1.2; an issue that's been lingering since its installation but masked by the MTP.

Thanks again.

- Daniel

From: Brian Meade (brmeade) [mailto:brmeade at cisco.com]
Sent: Thursday, October 17, 2013 9:25 AM
To: Daniel Pagan; cisco-voip at puck.nether.net
Subject: RE: H323/MGCP T.38 Issue & CCM Trace

Daniel,

That's sort of similar to what I'm seeing in this other case.  The bottom line is the Fax gateway shouldn't be sending an OLC for chan#5 before receiving the CLCack for chan#4.  H.245 can be such a headache with things like this.  Any chance the fax server supports SIP instead?  You may see much better results that way,

Brian

From: Daniel Pagan [mailto:dpagan at fidelus.com]
Sent: Thursday, October 17, 2013 9:21 AM
To: Brian Meade (brmeade); cisco-voip at puck.nether.net<mailto:cisco-voip at puck.nether.net>
Subject: RE: H323/MGCP T.38 Issue & CCM Trace

Brian

Thanks and that's similar to the behavior I'm seeing in the trace file.

Call flow is Fax==H.323==CUCM==MGCP=GW

Here's what I'm seeing once the two call-legs are connected:

FAX-->RequestMode-->CUCM
FAX--> CLC (chan#4) -->CUCM
FAX--> OLC (chan#5) -->CUCM
FAX<--CLCack (chan#4) <-- CUCM

After this we're waiting for the terminating gateway to detect fax tones and send the corresponding notify msg. We don't receive this until 10 seconds later. The NTFY finally arrives and we reply w/ 200, but never extend a MDCX with the new m= SDP header.

What confuses me is that the originating gateway (fax server) is sending the request mode instead of the terminating gateway, and the terminating gateway doesn't send its observed event for T38 until much later.

Does this match what you're seeing in the case you're following?

The fax server is attempting Fast Start but CUCM has this disabled. I enabled inbound Fast Start support and that seems to be working as a temporary solution.

- Daniel

From: Brian Meade (brmeade) [mailto:brmeade at cisco.com]
Sent: Thursday, October 17, 2013 8:48 AM
To: Daniel Pagan; cisco-voip at puck.nether.net<mailto:cisco-voip at puck.nether.net>
Subject: RE: H323/MGCP T.38 Issue & CCM Trace

Daniel,

I've been following another case with a similar issue detailed below:


This is the correct signaling sequence for T.38 switchover FYI:
CUCM                                                                                                                                    GW
    |                          RequestMode --------------->                                                       |
    |                                                                                                                                          |
    |                          <-----------------RequestModeAck                                             |
    |                                                                                                                                          |
    |                          <-----------------CloseLogicalChannel                                       |
    |                                                                                                                                          |
    |                          CloseLogicalChannelAck----------------->                                |
    |                                                                                                                                          |
    |                          <-------------------OpenLogicalChannel                                    |
    |                                                                                                                                          |
    |                          OpenLogicalChannelAck---------------->                                 |
    |                                                                                                                                          |
    |                          CloseLogicalChannel------------------>                                     |
    |                                                                                                                                          |
    |                          <-------------------CloseLogicalChannelAck                            |
    |                                                                                                                                          |
    |                          OpenLogicalChannel----------------->                                       |
    |                                                                                                                                          |
    |                          <----------------OpenLogicalChannelAck                                 |


In the case I'm working on, here is the behavior we're seeing.

CUCM                                                                                                                                    GW     Channel no
    |                          RequestMode --------------->                                                       |
    |                                                                                                                                          |
    |                          <-----------------RequestModeAck                                             |
    |                                                                                                                                          |
    |                          <-----------------CloseLogicalChannel                                       |                1
    |                                                                                                                                          |
    |                          <-------------------OpenLogicalChannel                                    |                2
    |                                                                                                                                          |

14:54:58.682 |!!ERROR!! -LogicalChannels-- open, try to open an existing channel that is in use:98e876e8,lcn=3|*^*^*
14:54:58.682 |DET-H245Interface-(105782)::handleH245OLCIncoming, Failed to open receive channel 3.|5,100,21,105734.8^10.132.56.37^Port 63596

    |                          CloseLogicalChannelAck----------------->                                |                1
    |                                                                                                                                          |
    |                          OpenLogicalChannelAck---------------->                                 |                2
    |                                                                                                                                          |

CUCM understands that OLC was rejected so it again tries to do OLC with new channel.

    |                          OpenLogicalChannel----------------->                                       |                3
    |                                                                                                                                          |
    |                          CloseLogicalChannel------------------>                                     |                1

Meanwhile OLC of LCN  = 1 gets rejected and so we do not get any answer for the OLC of LCN=3. So call fails.

    |                          <------------------openLogicalChannelReject                         |                1
    |                                                                                                                                          |
    |                          <-------------------CloseLogicalChannelAck                            |                1


Does this seem to be similar to what you're observing?  Does the gateway send the new OLC before CUCM sends the CLCAck?  If so, that is most likely the cause of the problem.

Brian

From: cisco-voip [mailto:cisco-voip-bounces at puck.nether.net] On Behalf Of Daniel Pagan
Sent: Thursday, October 17, 2013 7:26 AM
To: Daniel Pagan; cisco-voip at puck.nether.net<mailto:cisco-voip at puck.nether.net>
Subject: Re: [cisco-voip] H323/MGCP T.38 Issue & CCM Trace

A few updates on this one...

- It seems this became an issue after a recent upgrade to CUCM 9.1.2. May or may not be relevant. Not sure at this point.
- I spoke too soon. Reviewed additional traces and CUCM is receiving an NTFY from the gateway for FXR/t38(start), only it's being received 10 seconds after the OLC is sent from the fax server for a T.38 request.

>From what I recall, the terminating gateway should be initiating the request for T38 and CUCM should reply with the MDCX with t38 in the m= SDP header, but only a 200 response is sent to the gateway and then the trace goes cold again. The previous OLC for t38 is never ACKed and, eventually, the ISDN side disconnects and the call is torn down.

At this point I can't tell if it's a gateway issue (no t38 switchover attempt for 10 seconds) or CUCM (no MDCX in response to the NTFY for the t38 observed event). The sequence of events appear out of order, but I can certainly be wrong.

- Daniel


From: cisco-voip [mailto:cisco-voip-bounces at puck.nether.net] On Behalf Of Daniel Pagan
Sent: Wednesday, October 16, 2013 10:04 PM
To: cisco-voip at puck.nether.net<mailto:cisco-voip at puck.nether.net>
Subject: [cisco-voip] H323/MGCP T.38 Issue & CCM Trace

Folks:

Thanks ahead of time for reading this. I'm looking at an issue involving protocol based T.38 between an H323 fax server and MGCP gateway. The call starts as normal: The CRCX/200 contains the appropriate FXR package and caps, audio cut-through occurs successfully while first negotiating G711ulaw, the fax server sends CUCM an H245 mode request for T.38, a CLC on the existing channel and then a new OLC for T.38. CUCM ACKs the CLC but never ACKs the new OLC. Instead, after the new OLC is received, it appears MediaExchange is waiting for MGCP to proceed (I assume for a MDCX to the gateway w/ a new SDP media header... which I never see); immediately after the OLC is received, traces show "waitForMGCPResponse" for MGCPInterface and transactions for both CI's go completely cold. Only one node is processing this call - screenshot below.

[cid:image013.jpg at 01CECAB5.7B1B6F90]
Has anyone seen this before? CUCM not ACKing the OLC and never sending the appropriate MDCX to the gateway? The fax server is attempting to perform Fast Start at the beginning of the call, but not configured for inbound Fast Start support at the trunk level. I doubt this is related but figured it wouldn't hurt to mention.

Follow-up question: The "MGCPInterface" and "MediaExchange" processes listed above on the same trace line... The way I interpreted this entry, based on the fact that each corresponding process number is listed (1209 & 10771), is that MGCPInterface is receiving a request from the MediaExchange process. Is this description correct?

Thanks again.

- Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://puck.nether.net/pipermail/cisco-voip/attachments/20131017/115e32aa/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 76573 bytes
Desc: image001.jpg
URL: <https://puck.nether.net/pipermail/cisco-voip/attachments/20131017/115e32aa/attachment.jpg>


More information about the cisco-voip mailing list