05-09-2016 05:56 AM - edited 03-12-2019 10:22 AM
-------------
Please rate helpful content (i.e. videos, documents, comments) so quality content shows at the top of people's search results. Also, please select the correct answer(s) if any comment(s) answers your question otherwise the question remains on the support forums as unanswered.
-------------
I am planning on putting together a small video series about reading CallManager service traces and I am in the process of looking up good links to provide for signaling examples. I couldn't find any quality ones online so I went to some of my notes to pull out diagrams and put them here for the masses.
Note: This is not meant to be an in depth document. The point of this document is
to provide some quality, high level information about H.323.
EP = End Point
TCS = Terminal Capabilities Set
MSD = Master Slave Determination
OLC = Open Logical Channel
In this example EP1 is the originating side for the call; therefore, EP1 sends the setup message to EP2. The yellow arrows indicate H.225 while the black arrows indicate H.245.
Here are some notes about the signaling:
Before exchanging the TCS's there needs to be an H.245 connection opened. This is
accomplished by sending the H.245 address (IP address) and the port to connect to.
Once both sides know the H.245 address and port they can setup the connection and
exchange what capabilities they support (i.e. codec, packetization rate, etc...),
then MSD determination so when there are conflicts the Master can resolve them if
possible, then the OLC messages will be sent and this will prompt an OLC
Acknowledgement (OLCAck) which will carry the IP address and port for where to
terminate media (where to send the RTP packets). After the OLCAcks we see RTP
is established.
Note: The H.245 address is sent in the connect message for the example above;
however, it is possible to send it in an earlier message such as the call
proceeding, facility, or a progress message. If the far end device is a Cisco voice gateway the default is to send the H.245 address in the call proceeding message.
There are other setup types such as fast connect (aka fast start) and cut-through
(cut-through is similar to early media with SIP). Fast Connect and Early Media are very similar; however, they are considered to be different.
It will look almost the same in CUCM traces.
https://supportforums.cisco.com/document/62906/how-properly-and-safely-collect-debugs-ios-router
Call flow: PSTN --> Circuit on Cisco router --H.323--> CUCM --SCCP--> Phone
NOTE: For the example below the originating side sent the setup with fast connect;
however the terminating side didn't do fast connect so we see the signaling go on
as slow start.
##### 08:10:17.066 || OUTGOING || h323-message-body setup
May 10 08:10:17.066 EDT: H225.0 OUTGOING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body setup :
{
protocolIdentifier { 0 0 8 2250 0 4 }
sourceAddress
{
h323-ID : {"RTR1"}
}
sourceInfo
{
vendor
{
vendor
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
}
gateway
{
protocol
{
voice :
{
supportedPrefixes
{
}
}
}
}
mc FALSE
undefinedNode FALSE
}
activeMC FALSE
conferenceID 'FE05EF3115DE11E68005001B53B46B00'H
conferenceGoal create : NULL
callType pointToPoint : NULL
sourceCallSignalAddress ipAddress :
{
ip '0E3026FC'H
port 62896
}
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
fastStart
{
'0000000D4001800B050001000E3026FC455180'H,
'400000060401004D40018012150001000E3026FC...'H
}
mediaWaitForConnect FALSE
canOverlapSend FALSE
multipleCalls TRUE
maintainConnection TRUE
symmetricOperationRequired NULL
}
h245Tunneling TRUE
nonStandardControl
{
{
nonStandardIdentifier h221NonStandard :
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
data 'E0010300010480DA04038090A21803A983811E02...'H
}
}
tunnelledSignallingMessage
{
tunnelledProtocolID
{
id tunnelledProtocolAlternateID :
{
protocolType "gtd"
}
}
messageContent
{
'49414D2C0D0A50524E2C6973646E2A2C2C415454...'H
}
tunnellingRequired NULL
}
}
}
##### 08:10:17.086 || INCOMING || h323-message-body callProceeding
May 10 08:10:17.086 EDT: H225.0 INCOMING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body callProceeding :
{
protocolIdentifier { 0 0 8 2250 0 5 }
destinationInfo
{
vendor
{
vendor
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
productId '436973636F43616C6C4D616E61676572'H
versionId '31'H
}
terminal
{
}
mc FALSE
undefinedNode FALSE
}
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
multipleCalls FALSE
maintainConnection FALSE
}
h245Tunneling FALSE
nonStandardControl
{
{
nonStandardIdentifier h221NonStandard :
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
data '820400000400010300'H
}
}
}
}
##### 08:10:17.102 || INCOMING || h323-message-body alerting
May 10 08:10:17.102 EDT: H225.0 INCOMING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body alerting :
{
protocolIdentifier { 0 0 8 2250 0 5 }
destinationInfo
{
vendor
{
vendor
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
productId '436973636F43616C6C4D616E61676572'H
versionId '31'H
}
terminal
{
}
mc FALSE
undefinedNode FALSE
}
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
multipleCalls FALSE
maintainConnection FALSE
}
h245Tunneling FALSE
nonStandardControl
{
{
nonStandardIdentifier h221NonStandard :
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
data '820400000400010300'H
}
}
}
}
##### 08:10:17.114 || INCOMING || h323-message-body notify
May 10 08:10:17.114 EDT: H225.0 INCOMING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body notify :
{
protocolIdentifier { 0 0 8 2250 0 5 }
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
}
h245Tunneling FALSE
}
}
##### 08:10:19.914 || INCOMING || h323-message-body connect || h245Address ipAddress
May 10 08:10:19.914 EDT: H225.0 INCOMING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body connect :
{
protocolIdentifier { 0 0 8 2250 0 5 }
h245Address ipAddress :
{
ip '0E302606'H
port 37766
}
destinationInfo
{
vendor
{
vendor
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
productId '436973636F43616C6C4D616E61676572'H
versionId '31'H
}
terminal
{
}
mc FALSE
undefinedNode FALSE
}
conferenceID 'FE05EF3115DE11E68005001B53B46B00'H
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
multipleCalls FALSE
maintainConnection FALSE
}
h245Tunneling FALSE
nonStandardControl
{
{
nonStandardIdentifier h221NonStandard :
{
t35CountryCode 181
t35Extension 0
manufacturerCode 18
}
data '8204020004000103000100'H
}
}
}
}
##### 08:10:19.934 || INCOMING || h323-message-body notify
May 10 08:10:19.934 EDT: H225.0 INCOMING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body notify :
{
protocolIdentifier { 0 0 8 2250 0 5 }
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
}
h245Tunneling FALSE
}
}
##### 08:10:19.946 || OUTGOING || request : terminalCapabilitySet
May 10 08:10:19.946 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= request : terminalCapabilitySet :
{
sequenceNumber 1
protocolIdentifier { 0 0 8 245 0 7 }
multiplexCapability h2250Capability :
{
maximumAudioDelayJitter 20
receiveMultipointCapability
{
multicastCapability FALSE
multiUniCastConference FALSE
mediaDistributionCapability
{
{
centralizedControl FALSE
distributedControl FALSE
centralizedAudio FALSE
distributedAudio FALSE
centralizedVideo FALSE
distributedVideo FALSE
}
}
}
transmitMultipointCapability
{
multicastCapability FALSE
multiUniCastConference FALSE
mediaDistributionCapability
{
{
centralizedControl FALSE
distributedControl FALSE
centralizedAudio FALSE
distributedAudio FALSE
centralizedVideo FALSE
distributedVideo FALSE
}
}
}
receiveAndTransmitMultipointCapability
{
multicastCapability FALSE
multiUniCastConference FALSE
mediaDistributionCapability
{
{
centralizedControl FALSE
distributedControl FALSE
centralizedAudio FALSE
distributedAudio FALSE
centralizedVideo FALSE
distributedVideo FALSE
}
}
}
mcCapability
{
centralizedConferenceMC FALSE
decentralizedConferenceMC FALSE
}
rtcpVideoControlCapability FALSE
mediaPacketizationCapability
{
h261aVideoPacketization FALSE
}
logicalChannelSwitchingCapability FALSE
t120DynamicPortCapability FALSE
}
capabilityTable
{
{
capabilityTableEntryNumber 6
capability receiveAudioCapability : g729AnnexA : 2
},
{
capabilityTableEntryNumber 5
capability receiveAudioCapability : g729 : 2
}
}
capabilityDescriptors
{
{
capabilityDescriptorNumber 1
simultaneousCapabilities
{
{
5,
6
}
}
}
}
}
##### 08:10:19.954 || OUTGOING || request : masterSlaveDetermination
May 10 08:10:19.954 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= request : masterSlaveDetermination :
{
terminalType 60
statusDeterminationNumber 3236
}
##### 08:10:19.962 || INCOMING || request : terminalCapabilitySet
May 10 08:10:19.962 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= request : terminalCapabilitySet :
{
sequenceNumber 1
protocolIdentifier { 0 0 8 245 0 10 }
multiplexCapability h2250Capability :
{
maximumAudioDelayJitter 60
receiveMultipointCapability
{
multicastCapability FALSE
multiUniCastConference FALSE
mediaDistributionCapability
{
{
centralizedControl FALSE
distributedControl FALSE
centralizedAudio FALSE
distributedAudio FALSE
centralizedVideo FALSE
distributedVideo FALSE
}
}
}
transmitMultipointCapability
{
multicastCapability FALSE
multiUniCastConference FALSE
mediaDistributionCapability
{
{
centralizedControl FALSE
distributedControl FALSE
centralizedAudio FALSE
distributedAudio FALSE
centralizedVideo FALSE
distributedVideo FALSE
}
}
}
receiveAndTransmitMultipointCapability
{
multicastCapability FALSE
multiUniCastConference FALSE
mediaDistributionCapability
{
{
centralizedControl FALSE
distributedControl FALSE
centralizedAudio FALSE
distributedAudio FALSE
centralizedVideo TRUE
distributedVideo FALSE
}
}
}
mcCapability
{
centralizedConferenceMC FALSE
decentralizedConferenceMC FALSE
}
rtcpVideoControlCapability FALSE
mediaPacketizationCapability
{
h261aVideoPacketization FALSE
}
logicalChannelSwitchingCapability FALSE
t120DynamicPortCapability FALSE
}
capabilityTable
{
{
capabilityTableEntryNumber 1
capability genericControlCapability :
{
capabilityIdentifier standard : { 0 0 8 323 1 3 1 }
}
},
{
capabilityTableEntryNumber 2
capability receiveAudioCapability : g729 : 6
},
{
capabilityTableEntryNumber 3
capability receiveAndTransmitUserInputCapability : dtmf : NULL
},
{
capabilityTableEntryNumber 4
capability receiveAndTransmitUserInputCapability : basicString : NULL
},
{
capabilityTableEntryNumber 44
capability receiveAndTransmitUserInputCapability : hookflash : NULL
}
}
capabilityDescriptors
{
{
capabilityDescriptorNumber 0
simultaneousCapabilities
{
{
2
},
{
3,
4
},
{
44
}
}
}
}
}
##### 08:10:19.978 || OUTGOING || response : terminalCapabilitySetAck
May 10 08:10:19.978 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= response : terminalCapabilitySetAck :
{
sequenceNumber 1
}
##### 08:10:19.978 || INCOMING || response : terminalCapabilitySetAck
May 10 08:10:19.978 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= response : terminalCapabilitySetAck :
{
sequenceNumber 1
}
##### 08:10:19.986 || INCOMING || response : masterSlaveDeterminationAck
May 10 08:10:19.986 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= response : masterSlaveDeterminationAck :
{
decision master : NULL
}
##### 08:10:19.986 || OUTGOING || response : masterSlaveDeterminationAck
May 10 08:10:19.986 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= response : masterSlaveDeterminationAck :
{
decision slave : NULL
}
##### 08:10:19.994 || OUTGOING || request : openLogicalChannel
May 10 08:10:19.994 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= request : openLogicalChannel :
{
forwardLogicalChannelNumber 1
forwardLogicalChannelParameters
{
dataType audioData : g729 : 2
multiplexParameters h2250LogicalChannelParameters :
{
sessionID 1
mediaControlChannel unicastAddress : iPAddress :
{
network '0E3026FC'H
tsapIdentifier 17745
}
silenceSuppression TRUE
}
}
}
##### 08:10:19.998 || INCOMING || request : openLogicalChannel
May 10 08:10:19.998 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= request : openLogicalChannel :
{
forwardLogicalChannelNumber 1
forwardLogicalChannelParameters
{
dataType audioData : g729 : 2
multiplexParameters h2250LogicalChannelParameters :
{
sessionID 1
mediaControlChannel unicastAddress : iPAddress :
{
network '0E302606'H
tsapIdentifier 4001
}
silenceSuppression FALSE
}
}
}
##### 08:10:20.006 || OUTGOING || response : openLogicalChannelAck
May 10 08:10:20.006 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= response : openLogicalChannelAck :
{
forwardLogicalChannelNumber 1
forwardMultiplexAckParameters h2250LogicalChannelAckParameters :
{
mediaChannel unicastAddress : iPAddress :
{
network '0E3026FC'H
tsapIdentifier 17744
}
mediaControlChannel unicastAddress : iPAddress :
{
network '0E3026FC'H
tsapIdentifier 17745
}
flowControlToZero FALSE
}
}
##### 08:10:20.034 || INCOMING || response : openLogicalChannelAck
May 10 08:10:20.034 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= response : openLogicalChannelAck :
{
forwardLogicalChannelNumber 1
forwardMultiplexAckParameters h2250LogicalChannelAckParameters :
{
sessionID 1
mediaChannel unicastAddress : iPAddress :
{
network '0E302629'H
tsapIdentifier 25984
}
mediaControlChannel unicastAddress : iPAddress :
{
network '0E302629'H
tsapIdentifier 25985
}
}
}
##### 08:10:27.546 || INCOMING || request : closeLogicalChannel
May 10 08:10:27.546 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= request : closeLogicalChannel :
{
forwardLogicalChannelNumber 1
source user : NULL
}
##### 08:10:27.546 || OUTGOING || response : closeLogicalChannelAck
May 10 08:10:27.546 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= response : closeLogicalChannelAck :
{
forwardLogicalChannelNumber 1
}
##### 08:10:27.554 || INCOMING || command : endSessionCommand
May 10 08:10:27.554 EDT: H245 MSC INCOMING PDU ::=
value MultimediaSystemControlMessage ::= command : endSessionCommand : disconnect : NULL
##### 08:10:27.558 || OUTGOING || command : endSessionCommand
May 10 08:10:27.558 EDT: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= command : endSessionCommand : disconnect : NULL
##### 08:10:27.566 || INCOMING || h323-message-body releaseComplete
May 10 08:10:27.566 EDT: H225.0 INCOMING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body releaseComplete :
{
protocolIdentifier { 0 0 8 2250 0 5 }
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
}
h245Tunneling FALSE
}
}
##### 08:10:27.594 || OUTGOING || h323-message-body releaseComplete
May 10 08:10:27.594 EDT: H225.0 OUTGOING PDU ::=
value H323_UserInformation ::=
{
h323-uu-pdu
{
h323-message-body releaseComplete :
{
protocolIdentifier { 0 0 8 2250 0 4 }
callIdentifier
{
guid 'FE07281A15DE11E6A5AFEC1BFB413625'H
}
}
h245Tunneling FALSE
}
}
-------------
Please rate helpful content (i.e. videos, documents, comments) so quality content shows at the top of people's search results. Also, please select the correct answer(s) if any comment(s) answers your question otherwise the question remains on the support forums as unanswered.
-------------
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: