CUSP Post-Normalization v8.5.4

Unanswered Question
Oct 9th, 2013
User Badges:

I'm having a problem with CUSP Post-Normalization.

I need to change the field P-Asserted-Identity: <sip:[email protected]> to P-Asserted-Identity: <sip:[email protected]>

I need to make this change on CUSP I can't do it on CUBE or UCM.

Everytime the call matched the Route Tabled TIM_to_NGN the SIP Invite should be changed.

Anyone knows how to do it???

Flow: Phone > UCM > CUBE > CUSP > PSTN

My CUSP config, I remover all the normalizations because none worked.

CUSP-01(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
no sip logging
!
sip max-forwards 70
sip network TIM noicmp
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 redirect 192.24.0.201 port 5060 transport udp
!
no sip peg-counting
!
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 NGN_to_TIM
sequence 1
  remote-ip ^\Q192.216.99.249\E$
  end sequence
sequence 2
  remote-ip ^\Q192.192.22.9\E$
  end sequence
sequence 3
  remote-ip ^\Q192.223.53.233\E$
  end sequence
sequence 4
  remote-ip ^\Q192.221.192.233\E$
  end sequence
sequence 5
  remote-ip ^\Q192.223.53.172\E$
  end sequence
end trigger condition
!
trigger condition TIM_to_NGN
sequence 1
  remote-ip ^\Q192.168.2.202\E$
  end sequence
sequence 2
  remote-ip ^\Q192.168.2.203\E$
  end sequence
sequence 3
  remote-ip ^\Q192.168.2.204\E$
  end sequence
sequence 4
  remote-ip ^\Q192.168.2.205\E$
  end sequence
sequence 5
  remote-ip ^\Q192.24.0.206\E$
  end sequence
sequence 6
  remote-ip ^\Q192.24.0.207\E$
  end sequence
sequence 7
  remote-ip ^\Q192.24.0.208\E$
  end sequence
sequence 8
  remote-ip ^\Q192.24.0.209\E$
  end sequence
sequence 9
  remote-ip ^\Q192.24.0.202\E$
  end sequence
sequence 10
  remote-ip ^\Q192.24.0.203\E$
  end sequence
sequence 11
  remote-ip ^\Q192.24.0.204\E$
  end sequence
sequence 12
  remote-ip ^\Q192.24.0.205\E$
  end sequence
sequence 13
  remote-ip ^\Q192.168.2.206\E$
  end sequence
sequence 14
  remote-ip ^\Q192.168.2.207\E$
  end sequence
sequence 15
  remote-ip ^\Q192.168.2.208\E$
  end sequence
sequence 16
  remote-ip ^\Q192.168.2.209\E$
  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 rj.cube.tim.voip TIM
element ip-address 192.168.2.203 5060 udp q-value 1.0 weight 25
element ip-address 192.168.2.202 5060 udp q-value 1.0 weight 25
element ip-address 192.168.2.204 5060 udp q-value 1.0 weight 25
element ip-address 192.168.2.205 5060 udp q-value 1.0 weight 25
failover-resp-codes 503
lbtype global
ping
end server-group
!
server-group sip group rjha.cube.tim.voip TIM
element ip-address 192.24.0.207 5060 udp q-value 1.0 weight 25
element ip-address 192.24.0.208 5060 udp q-value 1.0 weight 25
element ip-address 192.24.0.209 5060 udp q-value 1.0 weight 25
element ip-address 192.24.0.206 5060 udp q-value 1.0 weight 25
failover-resp-codes 503
lbtype global
ping
end server-group
!
server-group sip group sp.cube.tim.voip TIM
element ip-address 192.24.0.202 5060 udp q-value 1.0 weight 25
element ip-address 192.24.0.203 5060 udp q-value 1.0 weight 25
element ip-address 192.24.0.204 5060 udp q-value 1.0 weight 25
element ip-address 192.24.0.205 5060 udp q-value 1.0 weight 25
failover-resp-codes 503
lbtype global
ping
end server-group
!
server-group sip group spha.cube.tim.voip TIM
element ip-address 192.168.2.207 5060 udp q-value 1.0 weight 25
element ip-address 192.168.2.206 5060 udp q-value 1.0 weight 25
element ip-address 192.168.2.208 5060 udp q-value 1.0 weight 25
element ip-address 192.168.2.209 5060 udp q-value 1.0 weight 25
failover-resp-codes 503
lbtype global
ping
end server-group
!
server-group sip group tim.voip TIM
element ip-address 192.216.99.249 5060 udp q-value 1.0 weight 25
element ip-address 192.221.192.233 5060 udp q-value 1.0 weight 25
element ip-address 192.223.53.233 5060 udp q-value 1.0 weight 25
element ip-address 192.192.22.9 5060 udp q-value 1.0 weight 25
failover-resp-codes 503
lbtype global
ping
end server-group
!
server-group sip group vscn.voip TIM
element ip-address 192.221.192.228 5060 udp q-value 1.0 weight 80
element ip-address 192.223.53.228 5060 udp q-value 0.9 weight 20
failover-resp-codes 503
lbtype global
ping
end server-group
!
server-group sip group vscs.voip TIM
element ip-address 192.192.22.4 5060 udp q-value 1.0 weight 80
element ip-address 192.216.99.244 5060 udp q-value 0.9 weight 20
failover-resp-codes 503
lbtype global
ping
end server-group
!
route group CUBE
element target-destination rj.cube.tim.voip TIM q-value 1.0
  failover-codes 502 - 503
  weight 25
  end element
element target-destination rjha.cube.tim.voip TIM q-value 0.9
  failover-codes 502 - 503
  weight 25
  end element
element target-destination sp.cube.tim.voip TIM q-value 0.8
  failover-codes 502 - 503
  weight 25
  end element
element target-destination spha.cube.tim.voip TIM q-value 0.7
  failover-codes 502 - 503
  weight 25
  end element
end route
!
route group CUBE_RJ
element target-destination rj.cube.tim.voip TIM q-value 1.0
  failover-codes 502 - 503
  weight 100
  end element
element target-destination rjha.cube.tim.voip TIM q-value 0.9
  failover-codes 502 - 503
  weight 100
  end element
end route
!
route group CUBE_SP
element target-destination sp.cube.tim.voip TIM q-value 1.0
  failover-codes 502 - 503
  weight 100
  end element
element target-destination spha.cube.tim.voip TIM q-value 0.9
  failover-codes 502 - 503
  weight 100
  end element
end route
!
route group NGN
element target-destination tim.voip TIM q-value 1.0
  failover-codes 502 - 503
  weight 100
  end element
end route
!
route group VSCN
element target-destination vscn.voip TIM q-value 1.0
  failover-codes 502 - 503
  weight 100
  end element
end route
!
route group VSCS
element target-destination vscs.voip TIM q-value 1.0
  failover-codes 502 - 503
  weight 100
  end element
end route
!
route table NGN_to_TIM
key * group CUBE
key 101101 target-destination 192.168.2.202 TIM
end route table
!
route table TIM_to_NGN
key * group NGN
key 1 group VSCN
key 2 group VSCN
key 3 group VSCN
key 4 group VSCN
key 5 group VSCN
key 6 group VSCN
key 7 group VSCN
key 8 group VSCN
key 9 group VSCN
end route table
!
policy lookup NGN_to_TIM
sequence 100 NGN_to_TIM request-uri uri-component user
  rule prefix
  end sequence
end policy
!
policy lookup TIM_to_NGN
sequence 100 TIM_to_NGN request-uri uri-component user
  rule prefix
  end sequence
end policy
!
trigger routing sequence 1 by-pass condition mid-dialog
trigger routing sequence 2 policy TIM_to_NGN condition TIM_to_NGN
trigger routing sequence 3 policy NGN_to_TIM condition NGN_to_TIM
!
server-group sip ping-options TIM 192.168.2.201 4000
method OPTIONS
ping-type adaptive 5000 5000
timeout 500
end ping
!
server-group sip global-ping
sip cac session-timeout 720
sip cac TIM 192.168.2.202 5060 udp limit -1
sip cac TIM 192.168.2.203 5060 udp limit -1
sip cac TIM 192.168.2.204 5060 udp limit -1
sip cac TIM 192.168.2.205 5060 udp limit -1
sip cac TIM 192.168.2.206 5060 udp limit -1
sip cac TIM 192.168.2.207 5060 udp limit -1
sip cac TIM 192.168.2.208 5060 udp limit -1
sip cac TIM 192.168.2.209 5060 udp limit -1
sip cac TIM 192.192.22.4 5060 udp limit -1
sip cac TIM 192.192.22.9 5060 udp limit -1
sip cac TIM 192.216.99.244 5060 udp limit -1
sip cac TIM 192.216.99.249 5060 udp limit -1
sip cac TIM 192.221.192.228 5060 udp limit -1
sip cac TIM 192.221.192.233 5060 udp limit -1
sip cac TIM 192.223.53.228 5060 udp limit -1
sip cac TIM 192.223.53.233 5060 udp limit -1
sip cac TIM 192.24.0.202 5060 udp limit -1
sip cac TIM 192.24.0.203 5060 udp limit -1
sip cac TIM 192.24.0.204 5060 udp limit -1
sip cac TIM 192.24.0.205 5060 udp limit -1
sip cac TIM 192.24.0.206 5060 udp limit -1
sip cac TIM 192.24.0.207 5060 udp limit -1
sip cac TIM 192.24.0.208 5060 udp limit -1
sip cac TIM 192.24.0.209 5060 udp limit -1
!
no sip cac
!
sip listen TIM tcp 192.168.2.201 5060
sip listen TIM udp 192.168.2.201 5060
!
call-rate-limit 200
!
end



SIP Invite Original:


INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.2.201:5060;branch=z9hG4bKL7dCbWXzcbaX8f4G+CNVAA~~190259
Via: SIP/2.0/UDP 192.168.2.202:5060;branch=z9hG4bKDD259C
Max-Forwards: 67
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=1C87547E-10F7
Contact: <sip:[email protected]:5060>
Expires: 60
Call-ID: [email protected]
CSeq: 101 INVITE
Content-Length: 247
Date: Wed, 09 Oct 2013 15:14:34 GMT
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 2143186560-0000065536-0000001060-0528394250
User-Agent: Cisco-SIPGateway/IOS-15.3.3.M
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
Timestamp: 1381331674
Allow-Events: telephone-event
P-Asserted-Identity: <sip:[email protected]>
Session-Expires: 1800
Content-Type: application/sdp
Content-Disposition: session;handling=required

v=0
o=CiscoSystemsSIP-GW-UserAgent 4952 6555 IN IP4 192.168.2.202
s=SIP Call
c=IN IP4 192.168.2.202
t=0 0
m=audio 17106 RTP/AVP 0 101
c=IN IP4 192.168.2.202
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20




SIP Invite After Post-Normalization shoud be:


INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.2.201:5060;branch=z9hG4bKL7dCbWXzcbaX8f4G+CNVAA~~190259
Via: SIP/2.0/UDP 192.168.2.202:5060;branch=z9hG4bKDD259C
Max-Forwards: 67
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=1C87547E-10F7
Contact: <sip:[email protected]:5060>
Expires: 60
Call-ID: [email protected]
CSeq: 101 INVITE
Content-Length: 247
Date: Wed, 09 Oct 2013 15:14:34 GMT
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 2143186560-0000065536-0000001060-0528394250
User-Agent: Cisco-SIPGateway/IOS-15.3.3.M
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
Timestamp: 1381331674
Allow-Events: telephone-event
P-Asserted-Identity: <sip:[email protected]>
Session-Expires: 1800
Content-Type: application/sdp
Content-Disposition: session;handling=required

v=0
o=CiscoSystemsSIP-GW-UserAgent 4952 6555 IN IP4 192.168.2.202
s=SIP Call
c=IN IP4 192.168.2.202
t=0 0
m=audio 17106 RTP/AVP 0 101
c=IN IP4 192.168.2.202
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
sadswami Fri, 01/16/2015 - 04:02
User Badges:

You can use CUSP GUI to do the configuration. Use below URL to login in CUSP GUI.

https://<IP of CUSP>/admin/Common/Homepage.do

 

In route table for particular key rather than using IP 192.168.2.202 as a destination host use server group as vscn.voip.

route table NGN_to_TIM 
key * group CUBE
key 101101 target-destination vscn.voip TIM
end route table

 

Mike Aragon Wed, 12/09/2015 - 16:17
User Badges:

I've struggled with post normalization in CUSP - specifically 8.5.3 but was able to get some things to work. What I found is that subsequent sequence normalization policies didn't work in version 8.5.3 and nobody from TAC was knowledgeable enough to provide any useful information at the time.  I would assume you upgraded by now but this is an old example of a post normalization setup that worked in 8.5.3:


! A Sample normalization policy to remove a 4 digit prefix of 9000

trigger condition NETWORK-TRIGGER-IN
sequence 1
in-network NETWORK01
end sequence
end trigger condition
!
trigger condition NETWORK-TRIGGER-MID
sequence 2
mid-dialog
end sequence
end trigger condition
!
trigger condition NETWORK-TRIGGER-OUT
sequence 1
out-network NETWORK01
end sequence
end trigger condition

policy normalization STRIP_9XXX
uri-component update request-uri user ^9000 ""
end policy

trigger post-normalization sequence 1 policy STRIP_9XXX condition NETWORK-TRIGGER-OUT