목차

소개

배경 정보

Cisco Unity Connection을 트리거하여 MWI를 켜거나 끄는 이벤트

MWI 플래그 값을 확인하기 위한 SQL 쿼리가 있는 MWI 켜기/끄기 시나리오용 CUCM 추적 조각

시나리오 1:Skinny Call Control Protocol(SCCP) Phone Extension 1007 Calling MWI on Number 1999

시나리오 2:SCCP 전화 내선 번호 1007 통화 MWI 꺼짐 번호 1998

SCCP(Skinny Call Control Protocol)를 통해 Unity 연결과 통합된 CUCM의 MWI On/Off 시나리오용 추적 조각

소개

이 문서에서는 MWI(메시지 대기 표시기) ON/OFF에 대한 작업 테스트 시나리오에 대해 설명하고 MWI 저장 프로시저 기능 및 설정 시나리오에서 발생하는 변경 사항에 대해 설명합니다. Cisco CUCM(Unified Communications Manager)에 MWI 알림 메시지 도착 후 Informix Database(IDS)에 변경 내용이 적용되었는지 확인하기 위해 SQL(Structuciso Database)에 적용되었는지 확인하기 위해 결과가 포함됩니다.

배경 정보

Cisco Unity Connection을 트리거하여 MWI를 켜거나 끄는 이벤트

- 사용자에 대한 메시지가 Cisco Unity Connection 메시지 저장소에 도착하면 Cisco Unity Connection은 해당 사용자의 전화기에서 MWI를 켜도록 전화기 시스템에 알립니다.

- MWI는 사용자가 메시지를 수신한 후에도 계속 켜져 있습니다.메시지가 저장되거나 삭제될 때까지 On으로 유지됩니다.메시지가 저장되거나 삭제되면 Cisco Unity Connection은 전화기에서 MWI를 끄도록 전화기 시스템에 알립니다.

- MWI가 동기화되면 Cisco Unity Connection은 메시지 저장소를 쿼리하여 모든 전화기에서 MWI의 상태를 확인하고 적용 가능한 MWI를 재설정합니다.

MWI 플래그 값을 확인하기 위한 SQL 쿼리가 있는 MWI 켜기/끄기 시나리오용 CUCM 추적 조각

시나리오 1:Skinny 통화 제어 프로토콜(SCCP) 전화 내선 번호 1999의 전화 내선 번호 1007 통화 MWI

CUCM 추적에서 호출된 번호 1999의 숫자 분석:

06150176.006 |11:53:11.122 |AppInfo  |Digit analysis: match(pi="2", fqcn="1007", cn="1007",plv="5", pss="", TodFilteredPss="", dd="1999",dac="0")

06150176.007 |11:53:11.122 |AppInfo  |Digit analysis: analysis results

06150176.008 |11:53:11.122 |AppInfo  ||PretransformCallingPartyNumber=1007

|CallingPartyNumber=1007

|DialingPartition=

|DialingPattern=1999

|FullyQualifiedCalledPartyNumber=1999

|DialingPatternRegularExpression=(1999)

열 레코드 플래그 값을 2로 업데이트하기 위해 SQL 프로시저가 호출됩니다. 이는 MWI ON 표시기를 의미합니다.

06150194.001 |11:53:11.123 |AppInfo  |DB: SQL1[execute procedure dblSetMWIEx('1007', '', 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)]

플래그 값을 확인하기 위한 CUCM 노드 CLI의 SQL 쿼리(tklampblinkrate_messagewaiting)

admin: run sql select n.dnorpattern, d.tklampblinkrate_messagewaiting from numplan as n,numplandynamic as d where n.dnorpattern = '1007' and n.pkid = d.fknumplan

dnorpattern tklampblinkrate_messagewaiting

=========== ==============================

1007        2

시나리오 2:SCCP 전화 내선 번호 1007 통화 MWI 꺼짐 번호 1998

CUCM 추적에서 호출된 번호 1998의 숫자 분석

06150336.006 |11:53:16.427 |AppInfo  |Digit analysis: match(pi="2", fqcn="1007", cn="1007",plv="5", pss="", TodFilteredPss="", dd="1998",dac="0")

06150336.007 |11:53:16.427 |AppInfo  |Digit analysis: analysis results

06150336.008 |11:53:16.427 |AppInfo  ||PretransformCallingPartyNumber=1007

|CallingPartyNumber=1007

|DialingPartition=

|DialingPattern=1998

|FullyQualifiedCalledPartyNumber=1998

열 레코드 플래그 값을 1로 업데이트하기 위해 SQL 프로시저가 호출되며 이는 MWI 끄기 표시기를 의미합니다.

06150355.001 |11:53:16.428 |AppInfo  |DB: SQL1[execute procedure dblSetMWIEx('1007', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)]

플래그 값을 확인하기 위한 CUCM 노드 CLI의 SQL 쿼리(tklampblinkrate_messagewaiting)

admin: run sql select n.dnorpattern, d.tklampblinkrate_messagewaiting from numplan as n,numplandynamic as d where n.dnorpattern = '1007' and n.pkid = d.fknumplan

dnorpattern tklampblinkrate_messagewaiting

=========== ==============================

1007        1

MWI 확장을 위한 저장 프로시저 SQL

CREATE FUNCTION dblSetMWIEx (  DN LIKE NumPlan.DnOrPattern,

partition LIKE RoutePartition.pkid,

lamp LIKE NumPlanDynamic.tkLampBlinkRate_MessageWaiting,

"1007" will be the input to the DN field ,"2" or "1" will be acting as a lamp input to the function "dblSetMWIEx"

함수에 전달된 파티션 값이 NULL이므로 이 IF 조건이 충족되고 나열된 SQL 쿼리가 NumPlanDynamic 테이블의 pkid 값을 param으로 가져옵니다.numplan 테이블과 내부 조인을 수행한 후 NPDpkid

IF (partition = '') THEN

SELECT NumPlanDynamic.pkid into NPDpkid from NumPlanDynamic INNER JOIN NumPlan ON NumPlanDynamic.fknumplan = NumPlan.pkid

WHERE (NumPlan.dnOrPattern = '1007' AND NumPlan.fkRoutePartition IS NULL);

CUCM 노드 CLI의 SQL 쿼리 결과

admin:run sql select NumPlanDynamic.pkid  from NumPlanDynamic INNER JOIN NumPlan ON NumPlanDynamic.fknumplan = NumPlan.pkid WHERE (NumPlan.dnOrPattern ='1007' AND NumPlan.fkRoutePartition IS NULL)

pkid

====================================

6b221dbe-4c53-4184-9cb9-d8a4e3a7f500

이 pkid 값은 함수에 정의된 대로 NPDpkid 값으로 전달됩니다.

SQL 프로시저에 정의된 대로 램프 필드 값을 업데이트하기 위해 dblSetMWIEx 함수에서 실행된 업데이트 쿼리:

Update NumPlanDynamic set NumPlanDynamic.tkLampBlinkRate_MessageWaiting = lamp WHERE pkid = NPDpkid;

업데이트 쿼리는 tkLampBlinkRate_MessageWaiting 열을 업데이트합니다.

SCCP(Skinny Call Control Protocol)를 통해 Unity 연결과 통합된 CUCM의 MWI On/Off 시나리오용 추적 조각

1. 시나리오 MWI

Unity의 MWI 알림 메시지(mwiwaiting 플래그가 1로 설정)

19684211.001 |19:45:22.377 |AppInfo  |StationInit: (0030551) StationMwiNotificationMessage mwiTarget=1007 mwiCtrl=1999 msgsWaiting=1 totalVm(-1/-1) priVm(-1/-1) totalFax(-1/-1) priFax(-1/-1)

19684212.000 |19:45:22.377 |SdlSig   |StationMwiNotification                 |restart0                       |StationD(1,100,58,30551)         |StationInit(1,100,57,1)          |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0]  mwiTargetDn=1007 mwiControlDn=1999

msgsWaiting=1

19684213.000 |19:45:22.377 |SdlSig   |SsInfoReq                              |wait                           |Cc(1,100,213,1)                  |StationD(1,100,58,30551)         |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Type=0 Key=0 Node=1 Party=0 DevId=(1,58,30551) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=2 WhichLamps=0 LampPersis=0 Signal=0 Cause=0 clientCodeReq=F authCodeReq=F mwiOnOffDn=1999 FDataType=0opId=0ssType=0 SsKey=0invokeId=0resultExp=Fbpda=F

19684214.000 |19:45:22.377 |SdlSig   |SsInfoReq                              |wait                           |MessageWaitingManager(1,100,126,1) |Cc(1,100,213,1)                  |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Type=0 Key=0 Node=1 Party=0 DevId=(1,58,30551) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=2 WhichLamps=0 LampPersis=0 Signal=0 Cause=0 clientCodeReq=F authCodeReq=F mwiOnOffDn=1999 FDataType=0opId=0ssType=0 SsKey=0invokeId=0resultExp=Fbpda=F

19684214.001 |19:45:22.377 |AppInfo  |MessageWaitingManager::ssInforeq mwiOnOffDn=1999 passedCSS= mwiDnCss=

19684214.002 |19:45:22.377 |Created  |                                       |                               |MessageWaiting(1,100,127,106960741) |MessageWaitingManager(1,100,126,1) |                                         |NumOfCurrentInstances: 6489

19684214.003 |19:45:22.377 |AppInfo  |MessageWaitingManager -  hashChildProcess - entries in the messageWaiting table = 0x1959

19684215.000 |19:45:22.377 |SdlSig   |SsInfoReq                              |wait                           |MessageWaiting(1,100,127,106960741) |MessageWaitingManager(1,100,126,1) |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Type=0 Key=0 Node=1 Party=22308893 DevId=(1,58,30551) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=2 WhichLamps=0 LampPersis=0 Signal=0 Cause=0 clientCodeReq=F authCodeReq=F mwiOnOffDn=1999 FDataType=0opId=0ssType=0 SsKey=0invokeId=0resultExp=Fbpda=F

19684215.001 |19:45:22.378 |AppInfo  |MessageWaiting::sendDaReq dialingPattern=1007 dialingPartition= voiceMailbox=1007 orig digitString=1007, cmDeviceType 0

19684215.002 |19:45:22.378 |Stopping |                                       |                               |MessageWaiting(1,100,127,106960741) |MessageWaiting(1,100,127,106960741) |                                         |NumOfCurrentInstances: 6489

19684216.000 |19:45:22.378 |SdlSig   |DbVoiceMailUpdtReq                     |initialized                    |Db(1,100,202,1)                  |MessageWaiting(1,100,127,106960741) |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[T:N-H:0,N:0,L:0,V:0,Z:0,D:0] 02000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 4862b9a5 00000000

SQL 업데이트 프로시저가 실행되어 램프 필드를 2로 업데이트합니다.

19684216.001 |19:45:22.378 |AppInfo  |DB: SQL1[execute procedure dblSetMWIEx('1007', '', 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)]

19684216.002 |19:45:22.380 |AppInfo  |DB: SQL2[execute procedure dblSetMWIEx('1007', '', 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)]

19684217.000 |19:45:22.384 |SdlSig   |SsInfoRes                              |restart0                       |StationD(1,100,58,30551)         |MessageWaiting(1,100,127,106960741) |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[R:N-H:0,N:1,L:0,V:0,Z:0,D:0] SsType=0 SsKey=106960741 SsNode=1 SsParty=0 DevId=(0,0,0) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=2 WhichLamps=0 LampPersis=0 SsSignal=0 SsCause=16

19684217.001 |19:45:22.384 |AppInfo  |StationD:    (0030551) TX StationMwiResponse: mwiTarget=1007 result=0.

19684218.000 |19:45:22.384 |SdlSig   |MessageWaitingComplete                 |wait                           |MessageWaitingManager(1,100,126,1) |MessageWaiting(1,100,127,106960741) |1,100,13,30598.8^10.106.90.141^CiscoUM2-VI2 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0]

19684218.001 |19:45:22.385 |AppInfo  |MessageWaitingManager - deleteEntryFromMwiTable - entries in the messageWaiting table = 0x1958

2. MWI 끄기 시나리오

Unity의 MWI 알림 메시지(mwiwaiting 플래그가 0으로 설정된 경우)

19775953.001 |19:45:42.812 |AppInfo  |StationInit: (0030549) StationMwiNotificationMessage mwiTarget=1007 mwiCtrl=1998 msgsWaiting=0 totalVm(-1/-1) priVm(-1/-1) totalFax(-1/-1) priFax(-1/-1)

19775954.000 |19:45:42.812 |SdlSig   |StationMwiNotification                 |restart0                       |StationD(1,100,58,30549)         |StationInit(1,100,57,1)          |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0]  mwiTargetDn=1007 mwiControlDn=1998 msgsWaiting=0

19775955.000 |19:45:42.812 |SdlSig   |SsInfoReq                              |wait                           |Cc(1,100,213,1)                  |StationD(1,100,58,30549)         |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Type=0 Key=0 Node=1 Party=0 DevId=(1,58,30549) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=1 WhichLamps=0 LampPersis=0 Signal=0 Cause=0 clientCodeReq=F authCodeReq=F mwiOnOffDn=1998 FDataType=0opId=0ssType=0 SsKey=0invokeId=0resultExp=Fbpda=F

19775956.000 |19:45:42.812 |SdlSig   |SsInfoReq                              |wait                           |MessageWaitingManager(1,100,126,1) |Cc(1,100,213,1)                  |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Type=0 Key=0 Node=1 Party=0 DevId=(1,58,30549) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=1 WhichLamps=0 LampPersis=0 Signal=0 Cause=0 clientCodeReq=F authCodeReq=F mwiOnOffDn=1998 FDataType=0opId=0ssType=0 SsKey=0invokeId=0resultExp=Fbpda=F

19775956.001 |19:45:42.812 |AppInfo  |MessageWaitingManager::ssInforeq mwiOnOffDn=1998 passedCSS= mwiDnCss=

19775956.002 |19:45:42.812 |Created  |                                       |                               |MessageWaiting(1,100,127,106964522) |MessageWaitingManager(1,100,126,1) |                                         |NumOfCurrentInstances: 6266

19775956.003 |19:45:42.812 |AppInfo  |MessageWaitingManager -  hashChildProcess - entries in the messageWaiting table = 0x187A

19775957.000 |19:45:42.812 |SdlSig   |SsInfoReq                              |wait                           |MessageWaiting(1,100,127,106964522) |MessageWaitingManager(1,100,126,1) |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Type=0 Key=0 Node=1 Party=22312676 DevId=(1,58,30549) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=1 WhichLamps=0 LampPersis=0 Signal=0 Cause=0 clientCodeReq=F authCodeReq=F mwiOnOffDn=1998 FDataType=0opId=0ssType=0 SsKey=0invokeId=0resultExp=Fbpda=F

19775957.001 |19:45:42.812 |AppInfo  |MessageWaiting::sendDaReq dialingPattern=1007 dialingPartition= voiceMailbox=1007 orig digitString=1007, cmDeviceType 0

19775957.002 |19:45:42.812 |Stopping |                                       |                               |MessageWaiting(1,100,127,106964522) |MessageWaiting(1,100,127,106964522) |                                         |NumOfCurrentInstances: 6266

19775958.000 |19:45:42.812 |SdlSig   |DbVoiceMailUpdtReq                     |initialized                    |Db(1,100,202,1)                  |MessageWaiting(1,100,127,106964522) |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[T:N-H:0,N:0,L:0,V:0,Z:0,D:0] 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00aff8ac 00000000 48c057a9 00000000

SQL 업데이트 프로시저가 실행되어 램프 필드를 1로 업데이트합니다.

19775958.001 |19:45:42.812 |AppInfo  |DB: SQL1[execute procedure dblSetMWIEx('1007', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)]

19775958.002 |19:45:42.820 |AppInfo  |DB: SQL2[execute procedure dblSetMWIEx('1007', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)]

19775959.000 |19:45:42.823 |SdlSig   |SsInfoRes                              |restart0                       |StationD(1,100,58,30549)         |MessageWaiting(1,100,127,106964522) |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[R:N-H:0,N:1,L:0,V:0,Z:0,D:0] SsType=0 SsKey=106964522 SsNode=1 SsParty=0 DevId=(0,0,0) CSS= dn=ti=1nd=1007pi=0si1 FeatId=122 FeatVal=1 WhichLamps=0 LampPersis=0 SsSignal=0 SsCause=16

19775959.001 |19:45:42.823 |AppInfo  |StationD:    (0030549) TX StationMwiResponse: mwiTarget=1007 result=0.

19775960.000 |19:45:42.823 |SdlSig   |MessageWaitingComplete                 |wait                           |MessageWaitingManager(1,100,126,1) |MessageWaiting(1,100,127,106964522) |1,100,13,30597.10^10.106.90.141^CiscoUM2-VI3 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0]

19775960.001 |19:45:42.824 |AppInfo  |MessageWaitingManager - deleteEntryFromMwiTable - entries in the messageWaiting table = 0x1879