Поиск по этому блогу

воскресенье, 17 ноября 2013 г.

Процесс инициализации Cisco IP Phone: часть 3

Call Flow Traces при внутрикластерном вызове

В следующий SDI trace детально рассматривается внутрикластерный поток звонков. Определить Cisco IP Phones в потоке звонков можно по DN, tcpHandle и IP address. Cisco IP Phone (dn: 1001, tcpHandle: 0x4fbbc30, IP address: 172.16.70.231), который расположен в Cluster 2, звонит на другой Cisco IP Phone в том же кластере (dn=1000, tcpHandle= 0x4fbb150, IP address=172.16.70.230). Помните, что вы можете следить за устройством с помощью trace, обращая внимание на значения TCP handle, time stamp или именем устройства. Значение TCP handle для устройства остается тем же, пока устройство не перезагрузится или не или не будит отключено от сети.

На телефоне Cisco IP Phone (1001) поднята трубка. Trace показывает TCP handle и номер вызывающего[1] абонента, который отображается на Cisco IP Phone (в правом верхнем углу). Номер вызываемого абонента, в данном случае, не показывается, потому что пользователь не пытался набирать никакие цифры. Информация отображается в форме Skinny Station сообщений (имеется ввиду протокол SCCP) между Cisco Unified IP Phones и Cisco Unified Communications Manager.
16:05:41.625 CCM|StationInit - InboundStim - OffHookMessageID tcpHandle=0x4fbbc30
16:05:41.625 CCM|StationD - stationOutputDisplayText tcpHandle=0x4fbbc30, Display= 1001
Следующий trace показывает сообщение Skinny Station, которое передано от CUCM к Cisco IP Phone. Это сообщение включает световой индикатор на телефонной трубке (если использовать для примера модель телефона Cisco IP Phone 7911) на вызывающем телефоне.
16:05:41.625 CCM|StationD - stationOutputSetLamp stim: 9=Line instance=1 lampMode=LampOn tcpHandle=0x4fbbc30
Используя сообщение stationOutputCallState CUCM, уведомляет определенную станцию о информации относящейся к вызову.
16:05:41.625 CCM|StationD - stationOutputCallState tcpHandle=0x4fbbc30
Сообщение stationOutputDisplayPromptStatus используется для отображения «подсказки» на дисплее телефона.
16:05:41.625 CCM|StationD - stationOutputDisplayPromptStatus tcpHandle=0x4fbbc30
CUCM использует stationOutputSelectSoftKey сообщение, для уведомления Skinny Station (телефона) о выборе конкретного набора программных клавиш.
16:05:41.625 CCM|StationD - stationOutputSelectSoftKeys tcpHandle=0x4fbbc30
Информирует Skinny Station о корректном отображении линии.
16:05:41.625 CCM|StationD - stationOutputActivateCallPlane tcpHandle=0x4fbbc30
Процесс анализа цифр готов, для определения входящих цифр и проверки их на возможность маршрутизации в соответствии с базой данных. Запись cn=1001, представляет собой номер вызывающего абонента, где dd="" представляет собой набранные цифры, которые будут соответствовать номеру вызываемого абонента (набранный номер). Телефон посылает сообщение StationInit, CUCM посылает сообщение StationD и CUCM выполняет анализ цифр.
16:05:41.625 CCM|Digit analysis:match(fqcn="", cn="1001", pss="", dd="")
16:05:41.625 CCM|Digit analysis: potentialMatches=PotentialMatchesExist
CUCM предоставляет dial tone для вызывающего телефона (посылает сигнал готовности принять номер).
16:05:41.625 CCM|StationD - stationOutputStartTone: 33=InsideDialTone tcpHandle=0x4fbbc30
После CUCM определяет входящее сообщение и распознает, что на клавиатуре телефона нажата кнопка 1 и немедленно останавливает звуковой сигнал.
16:05:42.890 CCM|StationInit - InboundStim - KeypadButtonMessageID kpButton: 1 
tcpHandle=0x4fbbc30
16:05:42.890 CCM|StationD - stationOutputStopTone tcpHandle=0x4fbbc30
16:05:42.890 CCM|StationD - stationOutputSelectSoftKeys tcpHandle=0x4fbbc30
16:05:42.890 CCM|Digit analysis: match(fqcn="", cn="1001", pss="", dd="1")
16:05:42.890 CCM|Digit analysis: potentialMatches=PotentialMatchesExist
16:05:43.203 CCM|StationInit - InboundStim - KeypadButtonMessageID kpButton: 0 
tcpHandle=0x4fbbc30
16:05:43.203 CCM|Digit analysis: match(fqcn="", cn="1001", pss="", dd="10")
16:05:43.203 CCM|Digit analysis: potentialMatches=PotentialMatchesExist
16:05:43.406 CCM|StationInit - InboundStim - KeypadButtonMessageID kpButton: 0 
tcpHandle=0x4fbbc30
16:05:43.406 CCM|Digit analysis: match(fqcn="", cn="1001", pss="", dd="100")
16:05:43.406 CCM|Digit analysis: potentialMatches=PotentialMatchesExist
16:05:43.562 CCM|StationInit - InboundStim - KeypadButtonMessageID kpButton: 0 
tcpHandle=0x4fbbc30
16:05:43.562 CCM|Digit analysis: match(fqcn="", cn="1001", pss="", dd="1000")
После того, как CUCM принимает достаточное количество цифр для выполнения соответствия (соответствует шаблону, только при методе набора digit-by-digit), он предоставляет результат анализа цифр в табличном формате. CUCM игнорирует любые дополнительные цифры, которые набираются на телефоне, с этого момента, т.к. соответствие уже найдено.
16:05:43.562 CCM|Digit analysis: analysis results
16:05:43.562 CCM||PretransformCallingPartyNumber=1001
|CallingPartyNumber=1001
|DialingPattern=1000
|DialingRoutePatternRegularExpression=(1000)
|PotentialMatches=PotentialMatchesExist
|DialingSdlProcessId=(1,38,2)
|PretransformDigitString=1000
|PretransformPositionalMatchList=1000
|CollectedDigits=1000
|PositionalMatchList=1000
|RouteBlockFlag=RouteThisPattern
CUCM посылает эту информацию вызываемой стороне (tcpHandle указывает на телефон).
16:05:43.578 CCM|StationD - stationOutputCallInfo CallingPartyName=1001, 
CallingParty=1001, CalledPartyName=1000, CalledParty=1000, tcpHandle=0x4fbb150
CUCM заставляет лампочку моргать (не знаю как более красиво сказать), для индикации входящего вызова, на вызываемом телефоне.

16:05:43.578 CCM|StationD - stationOutputSetLamp stim: 9=Line instance=1 lampMode=LampBlink tcpHandle=0x4fbb150
CUCM предоставляет для Cisco IP Phone, на вызываемой стороне, звонок, уведомление на дисплее и другую связанную с вызовом информацию. Опять же, в этом можно убедится, что все сообщения направляются тому же телефону. Параметр tcpHandle имеет тоже значение во всех traces.
16:05:43.578 CCM|StationD - stationOutputSetRinger: 2=InsideRing tcpHandle=0x4fbb150
16:05:43.578 CCM|StationD - stationOutputDisplayNotify tcpHandle=0x4fbb150
16:05:43.578 CCM|StationD - stationOutputDisplayPromptStatus tcpHandle=0x4fbb150
16:05:43.578 CCM|StationD - stationOutputSelectSoftKeys tcpHandle=0x4fbb150
Обратите внимание, что CUCM так же предоставляет аналогичную информацию телефону на вызывающей стороне. Опять же, tcpHandle у этих Cisco IP Phones – различен.
16:05:43.578 CCM|StationD - stationOutputCallInfo CallingPartyName=1001, 
CallingParty=1001, CalledPartyName=, CalledParty=1000, tcpHandle=0x4fbbc30
16:05:43.578 CCM|StationD - stationOutputCallInfo CallingPartyName=1001, 
CallingParty=1001, CalledPartyName=1000, CalledParty=1000, tcpHandle=0x4fbbc30
CUCM отправляет уведомление или звуковой сигнал о том, что соединение было установлено, на телефон вызывающей стороны.
16:05:43.578 CCM|StationD - stationOutputStartTone: 36=AlertingTone tcpHandle=0x4fbbc30
16:05:43.578 CCM|StationD - stationOutputCallState tcpHandle=0x4fbbc30
16:05:43.578 CCM|StationD - stationOutputSelectSoftKeys tcpHandle=0x4fbbc30
16:05:43.578 CCM|StationD - stationOutputDisplayPromptStatus tcpHandle=0x4fbbc30
В этот момент, поднимается трубка на вызываемом телефоне, поэтому CUCM прекращает подачу звукового сигнала для вызывающего телефона.
16:05:45.140 CCM|StationD - stationOutputStopTone tcpHandle=0x4fbbc30
CUCM сообщает Skinny Station (в данном случае телефону) о начале приема Unicast RTP потока. Для этого CUCM предоставляет информацию об IP адрес вызываемого абонента, а так же информацию о кодеках и размер пакета в милисекундах. PacketSize обозначает целое число, которое содержит выборки, в миллисекундах, использующиеся для создания RTP пакетов (нормальное значение 30мс, в данном случае 20мс).
16:05:45.140 CCM|StationD - stationOutputOpenReceiveChannel tcpHandle=0x4fbbc30 myIP: e74610ac (172.16.70.231)
16:05:45.140 CCM|StationD - ConferenceID: 0 msecPacketSize: 20 compressionType:(4)Media_Payload_G711Ulaw64k
Аналогичную информацию CUCM отправляет вызываемому телефону (1000).
16:05:45.140 CCM|StationD - stationOutputOpenReceiveChannel tcpHandle=0x4fbb150 myIP: e64610ac (172.16.70.230)
16:05:45.140 CCM|StationD - ConferenceID: 0 msecPacketSize: 20 compressionType:(4)Media_Payload_G711Ulaw64k
CUCM принимает подтверждающее сообщение от вызываемой стороны об установлении открытого канала для RTP потока, а так же IP адрес вызываемой стороны. Оно сообщает CUCM о двух фрагментах информации, относящихся к Skinny Station. Первое содержит статус об открытии. Второе содержит полученный адрес порта для передачи к удаленной стороне. IP адрес передатчика (вызывающей стороны) в RTP потоке указывается ipAddr, а PortNumber на номер порта.
16:05:45.265 CCM|StationInit - InboundStim - StationOpenReceiveChannelAckID 
tcpHandle=0x4fbb150, Status=0, IpAddr=0xe64610ac, Port=17054, PartyID=2
Следующие сообщения, говорит станции (телефону) о начале передачи аудио и видео потока на указанный IP адрес и номер порта Cisco IP Phone на удаленной стороне.
16:05:45.265 CCM|StationD - stationOutputStartMediaTransmission tcpHandle=0x4fbbc30 myIP:e74610ac (172.16.70.231)
16:05:45.265 CCM|StationD - RemoteIpAddr: e64610ac (172.16.70.230) RemoteRtpPortNumber: 
17054 msecPacketSize: 20 compressionType:(4)Media_Payload_G711Ulaw64k
16:03:25.328 CCM|StationD(1): TCPPid=[1.100.117.1] OpenMultiReceiveChannel 
conferenceID=16777217 passThruPartyID=1000011 compressionType=101(Media_Payload_H263) 
qualifierIn=?. myIP: e98e6b80 (128.107.142.233)|
16:03:25.375 CCM|StationInit: TCPPid=[1.100.117.1] StationOpenMultiMediaReceiveChannelAck 
Status=0, IpAddr=0xe98e6b80, Port=65346, 
PartyID=16777233|
16:03:25.375 CCM|StationD(2): TCPPid = [1.100.117.2] 
star_StationOutputStartMultiMediaTransmission conferenceID=16777218 
passThruPartyID=16777250 remoteIpAddress=e98e6b80(66.255.0.0) remotePortNumber=65346 
compressType=101(Media_Payload_H263) qualifierOut=?. myIP: e98e6b80 
(128.107.142.233)|
Сообщение информирует о том, что стартовал RTP медиа поток между вызываемой и вызывающей стороной.
16:05:45.312 CCM|StationD - stationOutputStartMediaTransmission tcpHandle=0x4fbb150 myIP: 
e64610ac (172.16.70.230)
16:05:45.328 CCM|StationD - RemoteIpAddr: e74610ac (172.16.70.231) RemoteRtpPortNumber: 
18448 msecPacketSize: 20 compressionType:(4)Media_Payload_G711Ulaw64k
16:05:46.203 CCM|StationInit - InboundStim - OnHookMessageID tcpHandle=0x4fbbc30
Вызывающий абонент наконец кладет трубку, что служит сигналом о завершении всех управляющих сообщений между Skinny Station (телефонами) и CUCM, а так же завершает RTP поток между телефонами.
16:05:46.203 CCM|StationInit - InboundStim - OnHookMessageID tcpHandle=0x4fbbc30

Ссылка на первую часть и на вторую

P.S. Это перевод части официальной документациисли кто будит пользоваться обратите внимание, что точность и правильность перевода не гарантируется. В тексте могут присутствовать орфографические, пунктуационные и другие ошибки. За более полной информацией необходимо обратится к официальной документации.

Комментариев нет:

Отправить комментарий