목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

구성

시나리오 1

시나리오 2

시나리오 3

시나리오 4

4가지 시나리오 모두 구성

다음을 확인합니다.

문제 해결

관련 정보

소개

이 문서에서는 4가지 서로 다른 통화 라우팅 시나리오와 일치하는 디버그가 포함된 Cisco Unified SIP Proxy(CUSP)의 샘플 CLI 및 GUI 컨피그레이션에 대해 설명합니다.

사전 요구 사항

요구 사항

Cisco에서는 이러한 주제에 대한 기본적인 지식을 얻을 것을 권장합니다.

- SIP(Session Initiation Protocol)

- Cisco Unified SIP Proxy(CUSP)

사용되는 구성 요소

이 문서의 정보는 CUSP를 기반으로 합니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

구성

이 섹션에서는 네 가지 통화 라우팅 시나리오의 컨피그레이션에 대해 설명합니다.

참고:이 섹션에 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용합니다.

시나리오 1

통화 흐름:IP Phone 1 — CME — SIP — CUSP — SIP — CUCM — IP Phone 2

CUSP를 통해 Cisco CUCM(Unified Communications Manager)에 등록된 IP Phone 2에 연결하려면 CME(CallManager Express)에 등록된 IP Phone 1에서 408 2 202 2 2102로 전화를 겁니다.

CME는 이 시나리오에서 PSTN(Public Switched Telephone Network)의 역할을 합니다.

1. CME에서 SIP INVITE가 CUSP로 전송됩니다.

[DsTransportListener-2] DEBUG 2013.02.27 19:15:59:245 DsSipLlApi.Wire -

Received UDP packet on 14.128.100.169:5060 ,source 14.128.100.150:57878

INVITE sip:4082022102@14.128.100.169:5060 SIP/2.0

Via: SIP/2.0/UDP 14.128.100.150:5060;branch=z9hG4bK21F2555

Remote-Party-ID: "4082025555" <sip:4082025555@14.128.100.150>;

party=calling;screen=yes;privacy=off

From: "4082025555" <sip:4082025555@14.128.100.150>;tag=81D7430C-1D2

To: <sip:4082022102@14.128.100.169>

Date: Wed, 27 Feb 2013 19:15:59 GMT

Call-ID: F3E5F396-804811E2-9818EC62-1B7185EE@14.128.100.150

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE:  1800

Cisco-Guid: 4091813662-2152206818-2551376994-0460424686

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

CSeq: 101 INVITE

Timestamp: 1361992559

Contact: <sip:4082025555@14.128.100.150:5060>

Expires: 180

Allow-Events: telephone-event

Max-Forwards: 69

Content-Type: application/sdp

Content-Disposition: session;handling=required

Content-Length: 410

v=0

o=CiscoSystemsSIP-GW-UserAgent 1007 629 IN IP4 14.128.100.150

s=SIP Call

c=IN IP4 14.128.100.150

t=0 0

m=audio 16930 RTP/AVP 18 101

c=IN IP4 14.128.100.150

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

m=video 17954 RTP/AVP 97

c=IN IP4 14.128.100.150

b=TIAS:1000000

a=rtpmap:97 H264/90000

a=fmtp:97 profile-level-id=42801E;packetization-mode=0

--- end of packet ---

2. 일치하는 네트워크(Net-PSTN) 구성에 통화가 수락됩니다.

CLI

sip listen Net-PSTN udp 14.128.100.169 5060

!

sip network Net-PSTN standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250

conditions.RegexCondition - inNetwork='Net-PSTN'

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250

conditions.RegexCondition - IN_NETWORK: Net-PSTN

3. 정규화 전 시퀀스가 실행됩니다.

CLI

trigger pre-normalization sequence 1 policy CUCM-Prefix-408

condition TC-from-CUCM

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 util.Normalization -

Entering Normalization(moduleRequest:pre-normalize)

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 conditions.RegexCondition -

inNetwork='Net-PSTN'

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 conditions.RegexCondition -

IN_NETWORK: Net-PSTN

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 conditions.AbstractRegexCondition -

pattern(^\QNet-CUCM\E$), toMatch(Net-PSTN) returning false

[REQUESTI.12] INFO  2013.02.27 19:15:59:250 util.Normalization -

skipping pre-normalize, due to either no trigger is configured or triggers

did not evaluate to true or is configured to by-pass

4. 트리거 조건(TC-from-PSTN)이 일치합니다.

CLI

!

trigger condition TC-from-PSTN

sequence 1

in-network ^\QNet-PSTN\E$

end sequence

end trigger condition

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 conditions.RegexCondition -

inNetwork='Net-PSTN'

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 conditions.RegexCondition -

IN_NETWORK: Net-PSTN

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:250 conditions.AbstractRegexCondition -

pattern(^\QNet-PSTN\E$), toMatch(Net-PSTN) returning true

5. Routing Trigger 컨피그레이션은 Trigger Condition(TC-from-PSTN)에 따라 일치하는 Route Policy(Policy-to-CUCM)를 찾기 위해 선택됩니다.

CLI

trigger routing sequence 1 policy Policy-to-CUCM condition TC-from-PSTN

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 triggers.ModuleTrigger -

ModuleTrigger.eval() action<Policy-to-CUCM> actionParameter<>

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 triggers.ModuleTrigger -

ModuleTrigger.eval() got the policy, executing it ...

6. 일치하는 Route Table(RT-CUCM)을 찾기 위해 Route Policy(Policy-to-CUCM) 컨피그레이션이 선택됩니다.

CLI

!

policy lookup Policy-to-CUCM

sequence 100 RT-CUCM request-uri uri-component user

modify-key 4082022102 1111

rule exact

end sequence

end policy

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.XCLPrefix -

Entering getKeyValue()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.FieldSelector -

getUriPart: URI - sip:4082022102@14.128.100.169:5060 part 6

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.FieldSelector -

Requested field 45

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.FieldSelector -

Returning key 4082022102

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.FieldSelector -

Retrieved Modifier  RegexModifier: match= 4082022102, replace=

1111, ignore case= false

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.FieldSelector -

Input field: 4082022102

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:251 nrs.FieldSelector -

Modified field: 1111

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 nrs.XCLPrefix -

Leaving getKeyValue()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 modules.XCLLookup -

table=RT-CUCM, key=1111

[REQUESTI.12] INFO  2013.02.27 19:15:59:252 modules.XCLLookup -

table is RT-CUCM

7. 대상(SG-CUCM.ajeet.com)을 찾기 위해 Route Table(RT-CUCM) 컨피그레이션이 선택됩니다.

CLI

!

route table RT-CUCM

key 1111 target-destination SG-CUCM.ajeet.com Net-CUCM

end route table

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 routingtables.RoutingTable -

Entering lookup()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 routingtables.RoutingTable -

Looking up 1111 in table RT-CUCM with rule exact and modifiers=none

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 routingtables.RoutingTable -

Entering applyModifiers()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 routingtables.RoutingTable -

Leaving applyModifiers(), returning 1111

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 routingtables.RoutingTable -

Leaving lookup()

[REQUESTI.12] INFO  2013.02.27 19:15:59:252 nrs.XCLPrefix -

NRS Routing decision is: RouteTable:RT-CUCM, RouteKey:1111,

TargetDestination:SG-CUCM.ajeet.com, Network:Net-CUCM

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.12] INFO  2013.02.27 19:15:59:252 loadbalancer.LBFactory -

lbtype is 3(call-id)

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 nrs.XCLPrefix -

Stored NRSAlgResult=isFound=true, isFailure=false, Response=-1,

Routes=[Ruri: SG-CUCM.ajeet.com, Route: null, Network: Net-CUCM,

q-value=1.0radvance=[502, 503]], PolicyAdvance=null

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 nrs.NRSAlgResult -

set policyAdvance as specified in route=RouteTable:RT-CUCM, RouteKey:1111,

TargetDestination:SG-CUCM.ajeet.com, Network:Net-CUCM

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:252 nrs.NRSAlgResult -

no policyAdvance specified in route

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:253 nrs.NRSAlgResult -

set policyAdvance as specified in algorithm={lookupkeymodifier=

[ RegexModifier: match= 4082022102, replace= 1111, ignore case= false],

lookuprule=0, lookupfield=45, lookuplenght=-1, lookuptable=RT-CUCM,

sequence=100, algorithm=1}

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:253 nrs.NRSAlgResult -

no policyAdvance specified in algorithm

8. 표준화 후 시퀀스가 실행됩니다.

참고:이 시나리오에서는 사후 정규화를 사용하지 않으므로 디버그에서 사후 표준화를 건너뜁니다.

CLI

trigger post-normalization sequence 1 policy

UC520-Four-to-Full condition TC-UC520-to-PSTN

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 util.Normalization -

Entering Normalization(moduleRequest:post-normalize)

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 conditions.RegexCondition -

inNetwork='Net-PSTN'

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 conditions.RegexCondition -

IN_NETWORK: Net-PSTN

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 conditions.AbstractRegexCondition -

pattern(^\QNet-From-UC520\E$), toMatch(Net-PSTN) returning false

[REQUESTI.12] INFO  2013.02.27 19:15:59:254 util.Normalization -

skipping post-normalize, due to either no trigger is configured or triggers

did not evaluate to true or is configured to by-pass

9. 요소 IP 주소를 찾기 위해 서버 그룹 컨피그레이션이 선택되고 Q-값 및 가중치 컨피그레이션을 기반으로 가능한 최상의 경로로 통화가 라우팅됩니다.

CLI

!

server-group sip group SG-CUCM.ajeet.com Net-CUCM

element ip-address 14.128.64.191 5060 udp q-value 1 weight 50

element ip-address 14.128.64.192 5060 udp q-value 1.0 weight 100

failover-resp-codes 503

lbtype global

ping

end server-group

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.12] INFO  2013.02.27 19:15:59:254 loadbalancer.LBFactory -

lbtype is 0(global)

[REQUESTI.12] INFO  2013.02.27 19:15:59:254 loadbalancer.LBFactory -

Default lbtype is 3(call-id)

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 loadbalancer.LBBase -

Entering getServer()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 loadbalancer.LBBase -

Entering initializeDomains()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 servergroups.

ServerGlobalStateWrapper - Net-CUCM:14.128.64.191:5060:1

numTries=2--->isServerAvailable(): true

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:254 servergroups.

ServerGlobalStateWrapper - Net-CUCM:14.128.64.192:5060:1

numTries=2--->isServerAvailable(): true

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 servergroups.AbstractNextHop -

Entering compareDomainNames()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 servergroups.AbstractNextHop -

Leaving compareDomainNames()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 loadbalancer.LBBase -

Leaving initializeDomains()

[REQUESTI.12] INFO  2013.02.27 19:15:59:255 loadbalancer.LBHashBased -

list of elements in order on which load balancing is done :

{reSgElementWeight=50, reSgElementSgName=SG-CUCM.ajeet.com,

reSgElementTransport=UDP, reSgElementQValue=1.0, reSgElementPort=5060,

reSgElementHost=14.128.64.191}, {reSgElementWeight=100, reSgElementSgName=

SG-CUCM.ajeet.com, reSgElementTransport=UDP, reSgElementQValue=1.0,

reSgElementPort=5060, reSgElementHost=14.128.64.192},

[REQUESTI.12] INFO  2013.02.27 19:15:59:255 loadbalancer.LBHashBased -

Hashing on F3E5F396-804811E2-9818EC62-1B7185EE@14.128.100.150

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 loadbalancer.DsHashAlgorithm -

Entering selectIndex()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 loadbalancer.DsHashAlgorithm -

Leaving selectIndex()

[REQUESTI.12] INFO  2013.02.27 19:15:59:255 loadbalancer.LBHashBased -

Index selected 0

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 servergroups.AbstractNextHop -

Entering compareDomainNames()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 servergroups.AbstractNextHop -

Leaving compareDomainNames()

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 loadbalancer.LBBase -

Server group SG-CUCM.ajeet.com selected {reSgElementWeight=50,

reSgElementSgName=SG-CUCM.ajeet.com, reSgElementTransport=UDP,

reSgElementQValue=1.0, reSgElementPort=5060, reSgElementHost=14.128.64.191}

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:255 loadbalancer.LBBase -

Leaving getServer()

10. SIP INVITE가 선택한 요소로 전송됩니다.

[REQUESTI.12] DEBUG 2013.02.27 19:15:59:256 DsSipLlApi.Wire -

Sending UDP packet on 14.128.100.169:32771, destination 14.128.64.191:5060

INVITE sip:4082022102@SG-CUCM.ajeet.com SIP/2.0

Via: SIP/2.0/UDP 14.128.100.169:5061;branch=z9hG4bK.ToYJFeKMyfZGySv.gcLjg~~231

Via: SIP/2.0/UDP 14.128.100.150:5060;branch=z9hG4bK21F2555

Max-Forwards: 68

To: <sip:4082022102@14.128.100.169>

From: "4082025555" <sip:4082025555@14.128.100.150>;tag=81D7430C-1D2

Contact: <sip:4082025555@14.128.100.150:5060>

Expires: 180

Remote-Party-ID: "4082025555" <sip:4082025555@14.128.100.150

>;party=calling;screen=yes;privacy=off

Call-ID: F3E5F396-804811E2-9818EC62-1B7185EE@14.128.100.150

CSeq: 101 INVITE

Content-Length: 410

Date: Wed, 27 Feb 2013 19:15:59 GMT

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE: 1800

Cisco-Guid: 4091813662-2152206818-2551376994-0460424686

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

Timestamp: 1361992559

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition: session;handling=required

v=0

o=CiscoSystemsSIP-GW-UserAgent 1007 629 IN IP4 14.128.100.150

s=SIP Call

c=IN IP4 14.128.100.150

t=0 0

m=audio 16930 RTP/AVP 18 101

c=IN IP4 14.128.100.150

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

m=video 17954 RTP/AVP 97

c=IN IP4 14.128.100.150

b=TIAS:1000000

a=rtpmap:97 H264/90000

a=fmtp:97 profile-level-id=42801E;packetization-mode=0

참고:CUCM과 같은 일부 디바이스는 요청을 처리하기 전에 요청의 URI(Uniform Resource Identifier)를 검증합니다. 즉, 이 작업을 허용하려면 최종 디바이스가 FQDN(Fully Qualified Domain Name)으로 구성해야 합니다.

CUCM의 경우 CUCM > System > Enterprise Parameter > Clusterwide Domain Configuration > Cluster Fully Qualified Domain Name은 서버 그룹 이름과 같아야 합니다.

시나리오 2

통화 흐름:IP Phone 1 — CUCM — SIP — CUSP — SIP — CME — IP Phone 2

IP Phone 1에 연결하려면 IP Phone 2에서 Dial 202 2222를 먼저 사용해야 합니다. 408은 사전 정규화 접두사로 사용해야 합니다.

CME는 이 시나리오에서 PSTN으로 작동합니다.

1. CUCM에서 SIP INVITE가 CUSP에 옵니다.

[DsTransportListener-0] DEBUG 2013.02.28 00:34:03:370 DsSipLlApi.Wire -

Received UDP packet on 14.128.100.169:5061 ,source 14.128.64.192:5060

INVITE sip:2022222@14.128.100.169:5061 SIP/2.0

Via: SIP/2.0/UDP 14.128.64.192:5060;branch=z9hG4bK18012ae333f

From: "SJ Phone 1" <sip:2001@14.128.64.192>;

tag=534264~c1b77ee1-4af9-4a41-aed3-3846cd699427-49616146

To: <sip:2022222@14.128.100.169>

Date: Thu, 28 Feb 2013 00:34:03 GMT

Call-ID: 8be55500-12e1a5fb-ab-c040800e@14.128.64.192

Supported: timer,resource-priority,replaces

Min-SE:  1800

User-Agent: Cisco-CUCM8.6

Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE,

REFER, SUBSCRIBE, NOTIFY

CSeq: 101 INVITE

Expires: 180

Allow-Events: presence, kpml

Supported: X-cisco-srtp-fallback,X-cisco-original-called

Call-Info: <sip:14.128.64.192:5060>

;method="NOTIFY;Event=telephone-event;Duration=500"

Cisco-Guid: 2347062528-0000065536-0000000107-3225452558

Session-Expires:  1800

P-Asserted-Identity: "SJ Phone 1" <sip:2001@14.128.64.192>

Remote-Party-ID: "SJ Phone 1" <sip:2001@14.128.64.192>

;party=calling;screen=yes;privacy=off

Contact: <sip:2001@14.128.64.192:5060>

Max-Forwards: 70

Content-Length: 0

--- end of packet ---

2. 일치하는 네트워크(Net-CUCM) 컨피그레이션에서 통화가 수락됩니다.

CLI

sip listen Net-CUCM udp 14.128.100.169 5061

!

sip network Net-CUCM standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:373 conditions.RegexCondition -

inNetwork='Net-CUCM'

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:373 conditions.RegexCondition -

IN_NETWORK: Net-CUCM

3. 정규화 전 시퀀스가 실행됩니다.

CLI

trigger pre-normalization sequence 1 policy CUCM-Prefix-408

condition TC-from-CUCM

!

policy normalization CUCM-Prefix-408

uri-component update request-uri user 2022222 4082022222

end policy

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:373 util.Normalization -

Entering Normalization(moduleRequest:pre-normalize

)[REQUESTI.12] DEBUG 2013.02.28 00:34:03:373 conditions.RegexCondition -

inNetwork='Net-CUCM'

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:373 conditions.RegexCondition -

IN_NETWORK: Net-CUCM

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.AbstractRegexCondition -

pattern(^\QNet-CUCM\E$), toMatch(Net-CUCM) returning true

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 triggers.ModuleTrigger -

ModuleTrigger.eval() action<CUCM-Prefix-408> actionParameter<>

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 triggers.ModuleTrigger -

ModuleTrigger.eval() got the policy, executing it ...

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 normalization.

URIComponentNormalizationAlgorithm - normalizing request-uri

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 normalization.

URIComponentNormalizationAlgorithm -

updating user/phone of the sip:2022222@14.128.100.169:5061 to 4082022222

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 util.Normalization -

Leaving Normalization.normalize()

4. 트리거 조건(TC-from-CUCM)이 일치합니다.

CLI

!

trigger condition TC-from-CUCM

sequence 1

in-network ^\QNet-CUCM\E$

end sequence

end trigger condition

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.RegexCondition -

inNetwork='Net-CUCM'

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.RegexCondition -

IN_NETWORK: Net-CUCM

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.AbstractRegexCondition -

pattern(^\QNet-CUCM\E$), toMatch(Net-CUCM) returning true

5. Trigger Condition(TC-from-CUCM)에 따라 일치하는 Route Policy(Policy-to-PSTN)를 검색하기 위해 Routing Trigger 컨피그레이션이 선택됩니다.

CLI

trigger routing sequence 2 policy Policy-to-PSTN condition TC-from-CUCM

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.RegexCondition -

inNetwork='Net-CUCM'

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.RegexCondition -

IN_NETWORK: Net-CUCM

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:374 conditions.AbstractRegexCondition -

pattern(^\QNet-CUCM\E$), toMatch(Net-CUCM) returning true

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 triggers.ModuleTrigger -

ModuleTrigger.eval() action<Policy-to-PSTN> actionParameter<>

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 triggers.ModuleTrigger -

ModuleTrigger.eval() got the policy, executing it ...

6. 일치하는 Route Table(RT-PSTN)을 찾기 위해 Route Policy(Policy-to-PSTN) 컨피그레이션을 확인합니다.

CLI

!

policy lookup Policy-to-PSTN

sequence 100 RT-PSTN request-uri uri-component user

rule exact

end sequence

end policy

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 nrs.XCLPrefix -

Entering getKeyValue()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 nrs.FieldSelector -

getUriPart: URI - sip:4082022222@14.128.100.169:5061 part 6

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 nrs.FieldSelector -

Requested field 45

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 nrs.FieldSelector -

Returning key 4082022222

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 nrs.XCLPrefix -

Leaving getKeyValue()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:375 modules.XCLLookup -

table=RT-PSTN, key=4082022222

[REQUESTI.12] INFO  2013.02.28 00:34:03:376 modules.XCLLookup -

table is RT-PSTN

7. 대상(SG-PSTN)을 찾기 위해 Route Table(RT-PSTN) 컨피그레이션이 선택되어 있습니다.

CLI

!

route table RT-PSTN

key 4082022222 target-destination SG-PSTN Net-PSTN

end route table

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 routingtables.RoutingTable -

Entering lookup()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 routingtables.RoutingTable -

Looking up 4082022222 in table RT-PSTN with rule exact and modifiers=none

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 routingtables.RoutingTable -

Entering applyModifiers()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 routingtables.RoutingTable -

Leaving applyModifiers(), returning 4082022222

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 routingtables.RoutingTable -

Leaving lookup()

[REQUESTI.12] INFO  2013.02.28 00:34:03:376 nrs.XCLPrefix -

NRS Routing decision is: RouteTable:RT-PSTN, RouteKey:4082022222,

TargetDestination:SG-PSTN, Network:Net-PSTN

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.12] INFO  2013.02.28 00:34:03:376 loadbalancer.LBFactory -

lbtype is 3(call-id)

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 nrs.XCLPrefix -

Stored NRSAlgResult=isFound=true, isFailure=false, Response=-1,

Routes=[Ruri: SG-PSTN, Route: null, Network: Net-PSTN, q-value=1.

0radvance=[502, 503]], PolicyAdvance=null

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 nrs.NRSAlgResult -

set policyAdvance as specified in route=RouteTable:RT-PSTN, RouteKey:4082022222,

TargetDestination:SG-PSTN, Network:Net-PSTN

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 nrs.NRSAlgResult -

no policyAdvance specified in route

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 nrs.NRSAlgResult -

set policyAdvance as specified in algorithm={lookuprule=0, lookupfield=45,

lookuplenght=-1, lookuptable=RT-PSTN, sequence=100, algorithm=1}

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:376 nrs.NRSAlgResult -

no policyAdvance specified in algorithm

8. 표준화 후 시퀀스가 실행됩니다.

CLI

trigger post-normalization sequence 1 policy UC520-Four-to-Full

condition TC-UC520-to-PSTN

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 util.Normalization -

Entering Normalization(moduleRequest:post-normalize)

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 conditions.RegexCondition -

inNetwork='Net-CUCM'

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 conditions.RegexCondition -

IN_NETWORK: Net-CUCM

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 conditions.AbstractRegexCondition -

pattern(^\QNet-From-UC520\E$), toMatch(Net-CUCM) returning false

[REQUESTI.12] INFO  2013.02.28 00:34:03:378 util.Normalization -

skipping post-normalize, due to either no trigger is configured or triggers

did not evaluate to true or is configured to by-pass

9. 요소 IP 주소를 찾기 위해 서버 그룹(SG-PSTN) 컨피그레이션이 확인되고 Q-value 및 Weight 컨피그레이션을 기반으로 가능한 최상의 경로로 통화가 라우팅됩니다.

CLI

!

server-group sip group SG-PSTN Net-PSTN

element ip-address 14.128.100.150 5060 udp q-value 1.0 weight 0

failover-resp-codes 503

lbtype global

ping

end server-group

!

GUI

디버그

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.12] INFO  2013.02.28 00:34:03:378 loadbalancer.LBFactory -

lbtype is 0(global)

[REQUESTI.12] INFO  2013.02.28 00:34:03:378 loadbalancer.LBFactory -

Default lbtype is 3(call-id)

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 loadbalancer.LBBase -

Entering getServer()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 loadbalancer.LBBase -

Entering initializeDomains()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 servergroups.

ServerGlobalStateWrapper - Net-PSTN:14.128.100.150:5060:1 numTries=

2--->isServerAvailable(): true

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 loadbalancer.LBBase -

Leaving initializeDomains()

[REQUESTI.12] INFO  2013.02.28 00:34:03:378 loadbalancer.LBHashBased -

list of elements in order on which load balancing is done :

{reSgElementWeight=0, reSgElementSgName=SG-PSTN, reSgElementTransport=UDP,

reSgElementQValue=1.0, reSgElementPort=5060, reSgElementHost=14.128.100.150}

, [REQUESTI.12] DEBUG 2013.02.28 00:34:03:378 servergroups.AbstractNextHop -

Entering compareDomainNames()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:379 servergroups.AbstractNextHop -

Leaving compareDomainNames()

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:379 loadbalancer.LBBase -

Server group SG-PSTN selected {reSgElementWeight=0, reSgElementSgName=SG-PSTN,

reSgElementTransport=UDP, reSgElementQValue=1.0, reSgElementPort=5060,

reSgElementHost=14.128.100.150}

[REQUESTI.12] DEBUG 2013.02.28 00:34:03:379 loadbalancer.LBBase -

Leaving getServer()

10. SIP INVITE가 선택한 요소로 전송됩니다.

[CT_CALLBACK.13] DEBUG 2013.02.28 00:34:06:260 DsSipLlApi.Wire -

Sending UDP packet on 14.128.100.169:32772, destination 14.128.64.192:

5060SIP/2.0 200 OK

Via: SIP/2.0/UDP 14.128.64.192:5060;branch=z9hG4bK18012ae333f

To: <sip:2022222@14.128.100.169>;tag=82FA7450-F53

From: "SJ Phone 1" <sip:2001@14.128.64.192>

;tag=534264~c1b77ee1-4af9-4a41-aed3-3846cd699427-49616146

Contact: <sip:4082022222@14.128.100.150:5060>

Require: timer

Remote-Party-ID: <sip:4082022222@14.128.100.150>

;party=called;screen=no;privacy=off

Call-ID: 8be55500-12e1a5fb-ab-c040800e@14.128.64.192

CSeq: 101 INVITE

Content-Length: 276

Date: Thu, 28 Feb 2013 00:34:03 GMT

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

Allow-Events: telephone-event

Supported: replaces

Supported: sdp-anat

Supported: timer

Server: Cisco-SIPGateway/IOS-12.x

Session-Expires: 1800;refresher=uac

Content-Type: application/sdp

Content-Disposition: session;handling=required

v=0

o=CiscoSystemsSIP-GW-UserAgent 6810 2753 IN IP4 14.128.100.150

s=SIP Call

c=IN IP4 14.128.100.150

t=0 0

m=audio 16862 RTP/AVP 18 101

c=IN IP4 14.128.100.150

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

시나리오 3

통화 흐름:IP Phone 1 — CME 1 — SIP — CUSP — SIP — CME 2 — IP Phone 2

IP Phone 2에서 내선 번호로 연결하려면 IP Phone 1에서 4001 또는 4002로 전화를 겁니다.

CME 2는 이 시나리오에서 UC520이며 CME 1은 PSTN 역할을 합니다.

1. SIP INVITE는 CME 1(PSTN)에서 CUSP로 전송됩니다.

[DsTransportListener-3] DEBUG 2013.02.28 05:28:57:360 DsSipLlApi.Wire -

Received UDP packet on 14.128.100.169:5062 ,source 14.128.100.150:56578

INVITE sip:4002@14.128.100.169:5062 SIP/2.0

Via: SIP/2.0/UDP 14.128.100.150:5060;branch=z9hG4bK2292567

Remote-Party-ID: <sip:85224044444@14.128.100.150>

;party=calling;screen=no;privacy=off

From: <sip:85224044444@14.128.100.150>;tag=84086F7C-10B8

To: <sip:4002@14.128.100.169>

Date: Thu, 28 Feb 2013 05:28:57 GMT

Call-ID: 9559E957-809E11E2-9856EC62-1B7185EE@14.128.100.150

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE:  1800

Cisco-Guid: 2446255913-2157842914-2555505762-0460424686

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

CSeq: 101 INVITE

Max-Forwards: 70

Timestamp: 1362029337

Contact: <sip:85224044444@14.128.100.150:5060>

Expires: 180

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition: session;handling=required

Content-Length: 276

v=0

o=CiscoSystemsSIP-GW-UserAgent 3653 4016 IN IP4 14.128.100.150

s=SIP Call

c=IN IP4 14.128.100.150

t=0 0

m=audio 19202 RTP/AVP 18 101

c=IN IP4 14.128.100.150

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

--- end of packet ---

2. 일치하는 네트워크(Net-UC520) 구성에서 통화가 수락됩니다.

CLI

sip listen Net-UC520 udp 14.128.100.169 5062

!

sip network Net-From-UC520 standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:362 conditions.RegexCondition -

inNetwork='Net-UC520'

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:362 conditions.RegexCondition -

IN_NETWORK: Net-UC520

3. 정규화 전 시퀀스가 실행됩니다.

CLI

trigger pre-normalization sequence 1 policy CUCM-Prefix-408 condition

TC-from-CUCM

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:362 util.Normalization -

Entering Normalization(moduleRequest:pre-normalize)

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:362 conditions.RegexCondition -

inNetwork='Net-UC520'

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:362 conditions.RegexCondition -

IN_NETWORK: Net-UC520

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:362 conditions.AbstractRegexCondition -

pattern(^\QNet-CUCM\E$), toMatch(Net-UC520) returning false

[REQUESTI.10] INFO  2013.02.28 05:28:57:362 util.Normalization -

skipping pre-normalize, due to either no trigger is configured or triggers

did not evaluate to true or is configured to by-pass

4. 트리거 조건(TC-PSTN-to-UC520)이 일치합니다.

CLI

!

trigger condition TC-PSTN-to-UC520

sequence 1

in-network ^\QNet-UC520\E$

end sequence

end trigger condition

!

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 conditions.RegexCondition -

inNetwork='Net-UC520'

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 conditions.RegexCondition -

IN_NETWORK: Net-UC520

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 conditions.AbstractRegexCondition -

pattern(^\QNet-UC520\E$), toMatch(Net-UC520) returning true

5. 트리거 조건(TC-PSTN-to-UC520)에 따라 일치하는 경로 정책(Policy-UC520)을 찾기 위해 라우팅 트리거 컨피그레이션을 확인합니다.

CLI

trigger routing sequence 3 policy Policy-UC520 condition TC-PSTN-to-UC520

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 triggers.ModuleTrigger -

ModuleTrigger.eval() action<Policy-UC520> actionParameter<>

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 triggers.ModuleTrigger -

ModuleTrigger.eval() got the policy, executing it ...

6. 경로 정책(Policy-UC520) 컨피그레이션은 일치하는 경로 테이블(RT-UC520)을 찾기 위해 선택됩니다.

CLI

!

policy lookup Policy-UC520

sequence 100 RT-UC520 request-uri uri-component user

modify-key 400[12] 2222

rule exact

end sequence

end policy

!

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.XCLPrefix -

Entering getKeyValue()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.FieldSelector -

getUriPart: URI - sip:4002@14.128.100.169:5062 part 6

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.FieldSelector -

Requested field 45

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.FieldSelector -

Returning key 4002

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.FieldSelector -

Retrieved Modifier  RegexModifier: match= 400[12], replace= 2222,

ignore case= false

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.FieldSelector -

Input field: 4002

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.FieldSelector -

Modified field: 2222

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 nrs.XCLPrefix -

Leaving getKeyValue()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:363 modules.XCLLookup -

table=RT-UC520, key=2222

[REQUESTI.10] INFO  2013.02.28 05:28:57:364 modules.XCLLookup -

table is RT-UC520

7. 대상(RG-UC520)을 찾기 위해 경로 테이블(RT-UC520) 컨피그레이션이 점검됩니다.

CLI

!

route table RT-UC520

key 2222 group RG-UC520

end route table

!

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 routingtables.RoutingTable -

Entering lookup()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 routingtables.RoutingTable -

Looking up 2222 in table RT-UC520 with rule exact and modifiers=none

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 routingtables.RoutingTable -

Entering applyModifiers()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 routingtables.RoutingTable -

Leaving applyModifiers(), returning 2222

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 routingtables.RoutingTable -

Leaving lookup()

[REQUESTI.10] INFO  2013.02.28 05:28:57:364 nrs.XCLPrefix -

NRS Routing decision is: RouteTable:RT-UC520, RouteKey:2222, RouteGroup:RG-UC520

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.10] INFO  2013.02.28 05:28:57:364 loadbalancer.LBFactory -

lbtype is 3(call-id)

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 nrs.XCLPrefix -

Stored NRSAlgResult=isFound=true, isFailure=false, Response=-1,

Routes=[Ruri: SG-UC520, Route: null, Network: Net-UC520, q-value=1.

0radvance=[502, 503]], PolicyAdvance=null

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 nrs.NRSAlgResult -

set policyAdvance as specified in route=RouteTable:RT-UC520, RouteKey:2222,

RouteGroup:RG-UC520

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 nrs.NRSAlgResult -

no policyAdvance specified in route

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 nrs.NRSAlgResult -

set policyAdvance as specified in algorithm={lookupkeymodifier=

[ RegexModifier: match= 400[12], replace= 2222, ignore case= false],

lookuprule=0, lookupfield=45, lookuplenght=-1, lookuptable=RT-UC520,

sequence=100, algorithm=1}

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:364 nrs.NRSAlgResult -

no policyAdvance specified in algorithm

8. 표준화 후 시퀀스가 실행됩니다.

CLI

trigger post-normalization sequence 1 policy UC520-Four-to-Full

condition TC-UC520-to-PSTN

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 util.Normalization -

Entering Normalization(moduleRequest:post-normalize)

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 conditions.RegexCondition -

inNetwork='Net-UC520'

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 conditions.RegexCondition -

IN_NETWORK: Net-UC520

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 conditions.AbstractRegexCondition -

pattern(^\QNet-From-UC520\E$), toMatch(Net-UC520) returning false

[REQUESTI.10] INFO  2013.02.28 05:28:57:365 util.Normalization -

skipping post-normalize, due to either no trigger is configured or

triggers did not evaluate to true or is configured to by-pass

9. 요소 IP 주소를 찾기 위해 Route Group(경로 그룹) 컨피그레이션이 선택되고 Q-값 및 가중치 설정에 따라 가능한 최상의 경로로 통화가 라우팅됩니다.

CLI

!

route group RG-UC520

element target-destination SG-UC520 Net-UC520 q-value 1.0

failover-codes 502 - 503

weight 0

end element

end route

!

!

server-group sip group SG-UC520 Net-UC520

element ip-address 14.128.100.161 5060 udp q-value 1.0 weight 0

failover-resp-codes 503

lbtype global

ping

end server-group

!

GUI

디버그

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.10] INFO  2013.02.28 05:28:57:365 loadbalancer.LBFactory -

lbtype is 0(global)

[REQUESTI.10] INFO  2013.02.28 05:28:57:365 loadbalancer.LBFactory -

Default lbtype is 3(call-id)

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 loadbalancer.LBBase -

Entering getServer()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 loadbalancer.LBBase -

Entering initializeDomains()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:365 servergroups.

ServerGlobalStateWrapper - Net-UC520:14.128.100.161:5060:1 numTries=

2--->isServerAvailable(): true

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:366 loadbalancer.LBBase -

Leaving initializeDomains()

[REQUESTI.10] INFO  2013.02.28 05:28:57:366 loadbalancer.LBHashBased -

list of elements in order on which load balancing is done :

{reSgElementWeight=0, reSgElementSgName=SG-UC520, reSgElementTransport=UDP,

reSgElementQValue=1.0, reSgElementPort=5060, reSgElementHost=14.128.100.161},

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:366 servergroups.AbstractNextHop -

Entering compareDomainNames()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:366 servergroups.AbstractNextHop -

Leaving compareDomainNames()

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:366 loadbalancer.LBBase -

Server group SG-UC520 selected {reSgElementWeight=0, reSgElementSgName=SG-UC520,

reSgElementTransport=UDP, reSgElementQValue=1.0, reSgElementPort=5060,

reSgElementHost=14.128.100.161}

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:366 loadbalancer.LBBase -

Leaving getServer()

10. SIP INVITE가 선택한 요소로 전송됩니다.

[REQUESTI.10] DEBUG 2013.02.28 05:28:57:367 DsSipLlApi.Wire -

Sending UDP packet on 14.128.100.169:32773, destination 14.128.100.161:5060

INVITE sip:4002@SG-UC520 SIP/2.0

Via: SIP/2.0/UDP

14.128.100.169:5062;branch=z9hG4bK.ToYJFeKMyfZGySv.gcLjg~~237

Via: SIP/2.0/UDP 14.128.100.150:5060;branch=z9hG4bK2292567

Max-Forwards: 69

To: <sip:4002@14.128.100.169>

From: <sip:85224044444@14.128.100.150>;tag=84086F7C-10B8

Contact: <sip:85224044444@14.128.100.150:5060>

Expires: 180

Remote-Party-ID: <sip:85224044444@14.128.100.150>

;party=calling;screen=no;privacy=off

Call-ID: 9559E957-809E11E2-9856EC62-1B7185EE@14.128.100.150

CSeq: 101 INVITE

Content-Length: 276

Date: Thu, 28 Feb 2013 05:28:57 GMT

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE: 1800

Cisco-Guid: 2446255913-2157842914-2555505762-0460424686

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

Timestamp: 1362029337

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition: session;handling=required

v=0

o=CiscoSystemsSIP-GW-UserAgent 3653 4016 IN IP4 14.128.100.150

s=SIP Call

c=IN IP4 14.128.100.150

t=0 0

m=audio 19202 RTP/AVP 18 101

c=IN IP4 14.128.100.150

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

시나리오 4

통화 흐름: IP Phone 1 — CME 1 — SIP — CUSP — SIP — CME 2 — IP Phone 2

IP Phone 1에 연결하려면 IP Phone 2에서 4444로 전화를 겁니다. 이 번호는 415 240 444로 변경되고 IP Phone 1에 연결되면 정상화가 이루어집니다.

CME 2는 이 시나리오에서 UC520이며 CME 1은 PSTN 역할을 합니다.

1. SIP INVITE는 CME 2(UC520)에서 CUSP로 전송됩니다.

[DsTransportListener-1] DEBUG 2013.02.28 07:06:57:220 DsSipLlApi.Wire -

Received UDP packet on 14.128.100.169:5063 ,source 14.128.100.161:59404

INVITE sip:4444@14.128.100.169:5063 SIP/2.0

Date: Thu, 28 Feb 2013 07:09:20 GMT

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

From: <sip:4001@14.128.100.161>;tag=256D566C-22AC

Allow-Events: telephone-event

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE:  1800

Remote-Party-ID: <sip:4001@14.128.100.161>

;party=calling;screen=no;privacy=off

Cisco-Guid: 2598740490-2158760418-2150671243-2598404062

Timestamp: 1362035360

Content-Length: 543

User-Agent: Cisco-SIPGateway/IOS-12.x

To: <sip:4444@14.128.100.169>

Contact: <sip:4001@14.128.100.161:5060>

Expires: 180

Content-Type: multipart/mixed;boundary=uniqueBoundary

Call-ID: 9B62C157-80AC11E2-8035A38B-9AE07FDE@14.128.100.161

Via: SIP/2.0/UDP 14.128.100.161:5060;branch=z9hG4bK21E82

CSeq: 101 INVITE

Max-Forwards: 70

Mime-Version: 1.0

--uniqueBoundary

Content-Type: application/sdp

Content-Disposition: session;handling=required

v=0

o=CiscoSystemsSIP-GW-UserAgent 3418 2914 IN IP4 14.128.100.161

s=SIP Call

c=IN IP4 14.128.100.161

t=0 0

m=audio 17618 RTP/AVP 18 101

c=IN IP4 14.128.100.161

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

--uniqueBoundary

Content-Type: application/gtd

Content-Disposition: signal;handling=optional

IAM,

GCI,9ae5a20a80ac11e28030a38b9ae07fde

--- end of packet ---

2. 일치하는 네트워크(Net-From-UC520) 구성에서 통화가 수락됩니다.

CLI

sip listen Net-From-UC520 udp 14.128.100.169 5063

!

sip network Net-From-UC520 standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.RegexCondition -

inNetwork='Net-From-UC520'

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.RegexCondition -

IN_NETWORK: Net-From-UC520

3. 정규화 전 시퀀스가 실행됩니다.

CLI

trigger pre-normalization sequence 1 policy CUCM-Prefix-408 condition

TC-from-CUCM

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 util.Normalization -

Entering Normalization(moduleRequest:pre-normalize)

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.RegexCondition -

inNetwork='Net-From-UC520'

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.RegexCondition -

IN_NETWORK: Net-From-UC520

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.AbstractRegexCondition -

pattern(^\QNet-CUCM\E$), toMatch(Net-From-UC520) returning false

[REQUESTI.5] INFO  2013.02.28 07:06:57:229 util.Normalization -

skipping pre-normalize, due to either no trigger is configured or triggers

did not evaluate to true or is configured to by-pass

4. 트리거 조건(TC-UC520-to-PSTN)이 일치합니다.

CLI

!

trigger condition TC-UC520-to-PSTN

sequence 1

in-network ^\QNet-From-UC520\E$

end sequence

end trigger condition

!

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.RegexCondition -

inNetwork='Net-From-UC520'

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:229 conditions.RegexCondition -

IN_NETWORK: Net-From-UC520

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 conditions.AbstractRegexCondition -

pattern(^\QNet-From-UC520\E$), toMatch(Net-From-UC520) returning true

5. 트리거 조건(TC-UC520-to-PSTN)에 따라 일치하는 경로 정책(Policy-UC520-to-PSTN)을 찾기 위해 라우팅 트리거 컨피그레이션이 선택됩니다.

CLI

trigger routing sequence 4 policy Policy-UC520-to-PSTN condition

TC-UC520-to-PSTN

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 triggers.ModuleTrigger -

ModuleTrigger.eval() action<Policy-UC520-to-PSTN> actionParameter<>

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 triggers.ModuleTrigger -

ModuleTrigger.eval() got the policy, executing it ...

6. 경로 정책(Policy-UC520-to-PSTN) 컨피그레이션은 일치하는 경로 테이블(RT-UC520-PSTN)을 찾기 위해 선택됩니다.

CLI

!

policy lookup Policy-UC520-to-PSTN

sequence 100 RT-UC520-PSTN request-uri uri-component user

modify-key 4444 3333

rule exact

end sequence

end policy

!

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.XCLPrefix -

Entering getKeyValue()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.FieldSelector -

getUriPart: URI - sip:4444@14.128.100.169:5063 part 6

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.FieldSelector -

Requested field 45

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.FieldSelector -

Returning key 4444

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.FieldSelector -

Retrieved Modifier  RegexModifier: match= 4444, replace= 3333,

ignore case= false

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.FieldSelector -

Input field: 4444

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.FieldSelector -

Modified field: 3333

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 nrs.XCLPrefix -

Leaving getKeyValue()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 modules.XCLLookup -

table=RT-UC520-PSTN, key=3333

[REQUESTI.5] INFO  2013.02.28 07:06:57:230 modules.XCLLookup -

table is RT-UC520-PSTN

7. 대상(RG-UC520)을 찾기 위해 경로 테이블(RT-UC520-PSTN) 컨피그레이션을 확인합니다.

CLI

!

route table RT-UC520-PSTN

key 3333 group RG-UC520-to-PSTN

end route table

!

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:230 routingtables.RoutingTable -

Entering lookup()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 routingtables.RoutingTable -

Looking up 3333 in table RT-UC520-PSTN with rule exact and modifiers=none

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 routingtables.RoutingTable -

Entering applyModifiers()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 routingtables.RoutingTable -

Leaving applyModifiers(), returning 3333

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 routingtables.RoutingTable -

Leaving lookup()

[REQUESTI.5] INFO  2013.02.28 07:06:57:231 nrs.XCLPrefix -

NRS Routing decision is: RouteTable:RT-UC520-PSTN, RouteKey:3333,

RouteGroup:RG-UC520-to-PSTN

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 loadbalancer.LBFactory -

Entering createLoadBalancer()

[REQUESTI.5] INFO  2013.02.28 07:06:57:231 loadbalancer.LBFactory -

lbtype is 3(call-id)

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 loadbalancer.LBFactory -

Leaving createLoadBalancer()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.XCLPrefix -

Stored NRSAlgResult=isFound=true, isFailure=false, Response=-1,

Routes=[Ruri: 14.128.100.150, Route: null, Network: Net-From-UC520,

q-value=1.0radvance=[502, 503]], PolicyAdvance=null

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.NRSAlgResult -

set policyAdvance as specified in route=RouteTable:RT-UC520-PSTN,

RouteKey:3333, RouteGroup:RG-UC520-to-PSTN

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.NRSAlgResult -

no policyAdvance specified in route

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.NRSAlgResult -

set policyAdvance as specified in algorithm={lookupkeymodifier=

[ RegexModifier: match= 4444, replace= 3333, ignore case= false],

lookuprule=0, lookupfield=45, lookuplenght=-1, lookuptable=RT-UC520-PSTN,

sequence=100, algorithm=1}

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.NRSAlgResult -

no policyAdvance specified in algorithm

8. 표준화 후 시퀀스가 실행됩니다.

CLI

trigger post-normalization sequence 1 policy UC520-Four-to-Full

condition TC-UC520-to-PSTN

!

policy normalization UC520-Four-to-Full

uri-component update request-uri user 4444 85224044444

end policy

!

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 util.Normalization -

Entering Normalization(moduleRequest:post-normalize)

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 conditions.RegexCondition -

inNetwork='Net-From-UC520'

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 conditions.RegexCondition -

IN_NETWORK: Net-From-UC520

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 conditions.AbstractRegexCondition -

pattern(^\QNet-From-UC520\E$), toMatch(Net-From-UC520) returning true

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 triggers.ModuleTrigger -

ModuleTrigger.eval() action<UC520-Four-to-Full> actionParameter<>

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 triggers.ModuleTrigger -

ModuleTrigger.eval() got the policy, executing it ...

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 normalization.URIComponentNormalizationAlgorithm -

normalizing request-uri

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 normalization.URIComponentNormalizationAlgorithm -

updating user/phone of the sip:4444@14.128.100.150 to 85224044444

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 util.Normalization -

Leaving Normalization.normalize()

9. 요소 IP 주소를 찾기 위해 Route Group(경로 그룹) 컨피그레이션이 선택되고 Q-값 및 가중치 설정에 따라 가능한 최상의 경로로 통화가 라우팅됩니다.

CLI

!

route group RG-UC520-to-PSTN

element target-destination 14.128.100.150 Net-From-UC520 q-value 1.0

failover-codes 502 - 503

weight 0

end element

end route

!

GUI

디버그

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 loadbalancer.LBBase -

Entering getServer()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 loadbalancer.LBBase -

Entering initializeDomains()

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.NRSRoutes -

routes before applying time policies: [Ruri: 14.128.100.150,

Route: null, Network: Net-From-UC520, q-value=1.0radvance=[502, 503]]

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 nrs.NRSRoutes -

routes after applying time policies: [Ruri: 14.128.100.150, Route:

null, Network: Net-From-UC520, q-value=1.0radvance=[502, 503]]

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:231 loadbalancer.LBBase -

Leaving initializeDomains()

[REQUESTI.5] INFO  2013.02.28 07:06:57:231 loadbalancer.LBHashBased -

list of elements in order on which load balancing is done : Ruri:

14.128.100.150, Route: null, Network: Net-From-UC520, q-value=

1.0radvance=[502, 503],

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 loadbalancer.LBBase -

Server group route-sg selected Ruri: 14.128.100.150, Route: null,

Network: Net-From-UC520, q-value=1.0radvance=[502, 503]

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:232 loadbalancer.LBBase -

Leaving getServer()

10. SIP INVITE가 선택한 요소로 전송됩니다.

[REQUESTI.5] DEBUG 2013.02.28 07:06:57:233 DsSipLlApi.Wire -

Sending UDP packet on 14.128.100.169:32770, destination 14.128.100.150:5060

INVITE sip:85224044444@14.128.100.150 SIP/2.0

Via: SIP/2.0/UDP

14.128.100.169:5063;branch=z9hG4bK.ToYJFeKMyfZGySv.gcLjg~~238

Via: SIP/2.0/UDP 14.128.100.161:5060;branch=z9hG4bK21E82

Max-Forwards: 69

To: <sip:4444@14.128.100.169>

From: <sip:4001@14.128.100.161>;tag=256D566C-22AC

Contact: <sip:4001@14.128.100.161:5060>

Expires: 180

Remote-Party-ID: <sip:4001@14.128.100.161>

;party=calling;screen=no;privacy=off

Call-ID: 9B62C157-80AC11E2-8035A38B-9AE07FDE@14.128.100.161

CSeq: 101 INVITE

Content-Length: 543

Date: Thu, 28 Feb 2013 07:09:20 GMT

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,

SUBSCRIBE, NOTIFY, INFO, REGISTER

Allow-Events: telephone-event

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE: 1800

Cisco-Guid: 2598740490-2158760418-2150671243-2598404062

Timestamp: 1362035360

User-Agent: Cisco-SIPGateway/IOS-12.x

Content-Type: multipart/mixed;boundary=uniqueBoundary

MIME-Version: 1.0

--uniqueBoundary

Content-Type: application/sdp

Content-Disposition: session;handling=required

v=0

o=CiscoSystemsSIP-GW-UserAgent 3418 2914 IN IP4 14.128.100.161

s=SIP Call

c=IN IP4 14.128.100.161

t=0 0

m=audio 17618 RTP/AVP 18 101

c=IN IP4 14.128.100.161

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=no

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

--uniqueBoundary

Content-Type: application/gtd

Content-Disposition: signal;handling=optional

IAM,

GCI,9ae5a20a80ac11e28030a38b9ae07fde

4가지 시나리오 모두 구성

이 문서에 설명된 네 가지 통화 시나리오에 대한 전체 CUSP 컨피그레이션은 다음과 같습니다.

ajeesing-cusp-8.5.3(cusp)# show configuration active verbose

Building CUSP configuration...

!

server-group sip global-load-balance call-id

server-group sip retry-after 0

server-group sip element-retries udp 2

server-group sip element-retries tls 1

server-group sip element-retries tcp 1

sip dns-srv

enable

no naptr

end dns

!

no sip header-compaction

!

sip logging

sip max-forwards 70

sip network Net-CUCM standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

sip network Net-From-UC520 standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

sip network Net-PSTN standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

sip network Net-UC520 standard

no non-invite-provisional

allow-connections

retransmit-count invite-client-transaction 3

retransmit-count invite-server-transaction 5

retransmit-count non-invite-client-transaction 3

retransmit-timer T1 500

retransmit-timer T2 4000

retransmit-timer T4 5000

retransmit-timer TU1 5000

retransmit-timer TU2 32000

retransmit-timer clientTn 64000

retransmit-timer serverTn 64000

tcp connection-setup-timeout 1000

udp max-datagram-size 1500

end network

!

sip overload reject retry-after 0

sip peg-counting 2 86400

sip privacy service

sip queue message

drop-policy head

low-threshold 80

size 2000

thread-count 20

end queue

!

sip queue radius

drop-policy head

low-threshold 80

size 2000

thread-count 20

end queue

!

sip queue request

drop-policy head

low-threshold 80

size 2000

thread-count 20

end queue

!

sip queue response

drop-policy head

low-threshold 80

size 2000

thread-count 20

end queue

!

sip queue st-callback

drop-policy head

low-threshold 80

size 2000

thread-count 10

end queue

!

sip queue timer

drop-policy none

low-threshold 80

size 2500

thread-count 8

end queue

!

sip queue xcl

drop-policy head

low-threshold 80

size 2000

thread-count 2

end queue

!

route recursion

!

sip tcp connection-timeout 30

sip tcp max-connections 256

!

no sip tls

!

trigger condition TC-PSTN-to-UC520

sequence 1

in-network ^\QNet-UC520\E$

end sequence

sequence 2

in-network ^\QNet-CUCM\E$

end sequence

end trigger condition

!

trigger condition TC-UC520-to-PSTN

sequence 1

in-network ^\QNet-From-UC520\E$

end sequence

end trigger condition

!

trigger condition TC-from-CUCM

sequence 1

in-network ^\QNet-CUCM\E$

end sequence

end trigger condition

!

trigger condition TC-from-PSTN

sequence 1

in-network ^\QNet-PSTN\E$

end sequence

sequence 2

in-network ^\QNet-CUCM\E$

message request

end sequence

end trigger condition

!

trigger condition mid-dialog

sequence 1

mid-dialog

end sequence

end trigger condition

!

accounting

no enable

no client-side

no server-side

end accounting

!

server-group sip group SG-CUCM.ajeet.com Net-CUCM

element ip-address 14.128.64.191 5060 udp q-value 1 weight 50

element ip-address 14.128.64.192 5060 udp q-value 1.0 weight 100

failover-resp-codes 503

lbtype global

ping

end server-group

!

server-group sip group SG-PSTN Net-PSTN

element ip-address 14.128.100.150 5060 udp q-value 1.0 weight 0

failover-resp-codes 503

lbtype global

ping

end server-group

!

server-group sip group SG-UC520 Net-UC520

element ip-address 14.128.100.161 5060 udp q-value 1.0 weight 0

failover-resp-codes 503

lbtype global

ping

end server-group

!

route group RG-UC520

element target-destination SG-UC520 Net-UC520 q-value 1.0

failover-codes 502 - 503

weight 0

end element

end route

!

route group RG-UC520-to-PSTN

element target-destination 14.128.100.150 Net-From-UC520 q-value 1.0

failover-codes 502 - 503

weight 0

end element

end route

!

route table RT-CUCM

key 1111 target-destination SG-CUCM.ajeet.com Net-CUCM

end route table

!

route table RT-PSTN

key 4082022222 target-destination SG-PSTN Net-PSTN

end route table

!

route table RT-UC520

key 2222 group RG-UC520

end route table

!

route table RT-UC520-PSTN

key 3333 group RG-UC520-to-PSTN

end route table

!

policy normalization CUCM-Prefix-408

uri-component update request-uri user 2022222 4082022222

end policy

!

policy normalization UC520-Four-to-Full

uri-component update request-uri user 4444 85224044444

end policy

!

policy lookup Policy-UC520

sequence 100 RT-UC520 request-uri uri-component user

modify-key 400[12] 2222

rule exact

end sequence

end policy

!

policy lookup Policy-UC520-to-PSTN

sequence 100 RT-UC520-PSTN request-uri uri-component user

modify-key 4444 3333

rule exact

end sequence

end policy

!

policy lookup Policy-to-CUCM

sequence 100 RT-CUCM request-uri uri-component user

modify-key 4082022102 1111

rule exact

end sequence

end policy

!

policy lookup Policy-to-PSTN

sequence 100 RT-PSTN request-uri uri-component user

rule exact

end sequence

end policy

!

trigger routing sequence 1 policy Policy-to-CUCM condition

TC-from-PSTN

trigger routing sequence 2 policy Policy-to-PSTN condition

TC-from-CUCM

trigger routing sequence 3 policy Policy-UC520 condition

TC-PSTN-to-UC520

trigger routing sequence 4 policy Policy-UC520-to-PSTN condition

TC-UC520-to-PSTN

trigger pre-normalization sequence 1 policy CUCM-Prefix-408

condition TC-from-CUCM

trigger post-normalization sequence 1 policy UC520-Four-to-Full

condition TC-UC520-to-PSTN

!

server-group sip ping-options Net-CUCM 14.128.100.169 4001

method OPTIONS

ping-type proactive 2500

timeout 2000

end ping

!

server-group sip global-ping

sip cac session-timeout 720

sip cac Net-CUCM 14.128.64.191 5060 udp limit -1

sip cac Net-CUCM 14.128.64.192 5060 udp limit -1

sip cac Net-PSTN 14.128.100.150 5060 udp limit -1

sip cac Net-UC520 14.128.100.161 5060 udp limit -1

!

no sip cac

!

sip listen Net-CUCM udp 14.128.100.169 5061

sip listen Net-From-UC520 udp 14.128.100.169 5063

sip listen Net-PSTN udp 14.128.100.169 5060

sip listen Net-UC520 udp 14.128.100.169 5062

!

call-rate-limit 200

!

end

ajeesing-cusp-8.5.3(cusp)#

다음을 확인합니다.

현재 이 구성에 대해 사용 가능한 확인 절차가 없습니다.

문제 해결

현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.

관련 정보

- Cisco Unified SIP Proxy 릴리스 8.5용 CLI 컨피그레이션 가이드

- Cisco Unified SIP Proxy 릴리스 8.5용 GUI 관리 설명서

- CUSP 통화 처리

- 기술 지원 및 문서 − Cisco Systems