CCIE Voice notes

We finally got our CCIEs….Hope this blog helps others too!!

Archive for the ‘IOS Gateways’ Category

How to debug DTMF relay?

Posted by cciestudy on August 22, 2006

For H323

debug h245 asn1

For SIP

debug voip rtp session named-event

Sample output

H323

Aug 21 21:07:37.902: h245_decode_one_pdu: more_pdus = 0, bytesLeftToDecode = 7
Aug 21 21:07:37.902: H245 MSC INCOMING ENCODE BUFFER::= 6D810447200063
Aug 21 21:07:37.902:
Aug 21 21:07:37.902: H245 MSC INCOMING PDU ::=

value MultimediaSystemControlMessage ::= indication : userInput : signal :
{
signalType “9″
duration 100
}

SIP

Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:04 00 00  <Snd>>>
Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:04 00 00  <Snd>>>
Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:04 00 00  <Snd>>>
Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:04 01 90  <Snd>>>
Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:84 03 20  <Snd>>>
Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:84 03 20  <Snd>>>
Aug 21 21:07:37.902:          Pt:101    Evt:9       Pkt:84 03 20  <Snd>>>

Posted in Gateways, IOS Gateways | 4 Comments »

How to prepend digits to caller id in H323?

Posted by cciestudy on August 14, 2006

voice translation-rule 1
rule 1 /\(^[2-9]………$\)/ /91\1/ — for national calls
rule 2 /\(.*\)/ /9011\1/ — for international calls

!
!
voice translation-profile ANI
translate calling 1

Posted in Cisco General, Gateways, IOS Gateways | Leave a Comment »

MGCP Call Preservation

Posted by cciestudy on July 19, 2006

MGCP PRI backhaul does not support call preservation when transitioned from Callmanager to SRST and vice versa.

Posted in Cisco General, Gateways, IOS Gateways | Leave a Comment »

H323/MGCP – Caller ID Display

Posted by cciestudy on July 19, 2006

H323 does not support Facility IE. H323 supports only Display IE

MGCP supports both Display and Facility IE

Posted in Cisco General, Gateways, IOS Gateways | 2 Comments »

E1 R2 ANI

Posted by cciestudy on July 16, 2006

ANI is not available with E1R2 dtmf signaling. For all other E1R2 options, ANI is available and you need to select this option to have ANI send out.

Click to enlarge

Posted in Gateways, IOS Gateways | 2 Comments »

H323 template

Posted by cciestudy on July 5, 2006

1. voice class codec, g711 as first preference and g729 second

2. voice class h323 with timeout 3

3. dial-peer to match incoming call leg

4. two dial-peers to send calls to CCM. enable no vad on these dial-peers and also dtmf-relay
5. 4 outgoing dial-peers for 911, local, long and international

6. enable qos for signaling

voice class codec 1
codec preference 1 g711alaw (under most circumstances g711ulaw is enough, unless the site is in Europse or a country that uses alaw)
codec preference 2 g711ulaw
codec preference 3 g729r8
!
!
!
voice class h323 1
h225 timeout tcp establish 3

dial-peer voice 1 pots
incoming called-number .
direct-inward-dial
port 1/0:1

dial-peer voice 2 voip
destination-pattern 3…
voice-class codec 1
voice-class h323 1
session target ipv4:10.1.21.39
dtmf-relay h245-alphanumeric
ip qos dscp cs3 signaling
no vad
!
dial-peer voice 3 voip
preference 1
destination-pattern 3…
voice-class codec 1
voice-class h323 1
session target ipv4:10.1.21.38
dtmf-relay h245-alphanumeric
ip qos dscp cs3 signaling
no vad

Posted in IOS Gateways, Template | 1 Comment »

Issues with ANI

Posted by cciestudy on July 4, 2006

If PSTN does not send ANI, then the gateway will use the destination pattern of the incoming dial peer as the ANI. The destination pattern needs to be a specific match like 911. It will not be used if there are any wild cards, like 9..

This is mostly seen as an issue in T1/E1 CAS.

Posted in IOS Gateways | Leave a Comment »

H225 timeout for H323 dial peers

Posted by cciev on June 17, 2006

When setting up redundant h323 dial peers for sending calls from a H323 gateway to publisher and subscriber, set the h225 timeout to < 10 seconds. If its more than 10 seconds, q931 timer will expire and will do a call disconnect. If timeout is not set, the router waits 40 seconds to hunt between two dial-peers that have same pattern with  preference numbers in order.

 voice class h323 1

h225 timeout tcp establish 3 ——————— 3 seconds

dial-peer voice 1 voip

destination-pattern 3…

dtmf-relay h245-alphanumeric

pref 0 (default)

voice-class h323 1

session target ipv4:<ip of subscriber

dial-peer voice 2 voip

destination-pattern 3…

dtmf-relay h245-alphanumeric

pref 1

session target ipv4:<ip of publisher>

Posted in Gateways, IOS Gateways | 1 Comment »

CFwdAll with Overlap Send receive

Posted by cciev on June 15, 2006

When OSR is enabled (for the 9. pattern), Cfwd all accepts only the digit 9 and call will be forwarded to 9. To avoid this configure a pattern 9.!, place that in a different partition and create a CSS with this partition in it.  Set the Cfwdall CSS on all ip phones to the newly created CSS.

Posted in Gateways, IOS Gateways, MGCP | Leave a Comment »

How to enable Overlap Send-receive in CM 4.1

Posted by cciev on June 15, 2006

Overlap send receive is used in certain countries like Germany. Overlap send receive is supported in QSIG based switch types.

To setup OSR, add a route pattern 9. with Allow Overlap Sending enabled. Select the qsig gateway that you added (6608, mgcp t1 gateway etc). When OSR is enabled, FAC and CMC are automatically disabled.

Debug isdn q931 will look like this. The number dialed is 2142142142 The PSTN simulator router waits for each digit to come by and then routes the call. Make sure on the PSTN router the following command is enabled.

interface Serial1/0/0:23
no ip address
isdn switch-type primary-qsig
isdn overlap-receiving
isdn protocol-emulate network
isdn incoming-voice voice
no cdp enable

Jun 15 02:01:24.129: ISDN Se1/0/0:23 Q931: RX <- SETUP pd = 8 callref = 0×0001
Bearer Capability i = 0×8090A2
Standard = CCITT
Transfer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xA98384
Exclusive, Channel 4
Facility i = 0×9FAA06800100820100A11A020101020100801253796C7665737465722
05374616C6C6F6E65
Calling Party Number i = 0×0081, '5003'
Plan:Unknown, Type:Unknown
Called Party Number i = 0×80, '2' Plan:Unknown, Type:Unknown Jun 15 02:01:24.133: ISDN Se1/0/0:23 Q931: TX -> SETUP_ACK pd = 8 callref = 0×8
001
Channel ID i = 0xA98384
Exclusive, Channel 4
Jun 15 02:01:24.885: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '1'
Plan:Unknown, Type:Unknown
Jun 15 02:01:25.497: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '4'
Plan:Unknown, Type:Unknown
Jun 15 02:01:26.089: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '2'
Plan:Unknown, Type:Unknown
Jun 15 02:01:26.673: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '1'
Plan:Unknown, Type:Unknown
Jun 15 02:01:27.217: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '4'
Plan:Unknown, Type:Unknown
Jun 15 02:01:27.793: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '2'
Plan:Unknown, Type:Unknown
Jun 15 02:01:28.493: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '1'
Plan:Unknown, Type:Unknown
Jun 15 02:01:29.013: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '4'
Plan:Unknown, Type:Unknown
Jun 15 02:01:29.601: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '2'
Plan:Unknown, Type:Unknown
Jun 15 02:01:30.173: ISDN Se1/0/0:23 Q931: RX <- INFORMATION pd = 8 callref = 0
x0001
Called Party Number i = 0×80, '9'
Plan:Unknown, Type:Unknown
 

Posted in 6608 gateway, Gateways, IOS Gateways, MGCP | 3 Comments »

Translation rules and profiles

Posted by cciev on June 10, 2006

voice translation-rule 1

rule 1 /123/ /456/

rule 2 /^123/ /456/

rule 3 /^123$/ /456/

rule 4 /.*/ /456/

rule 5 /^123*/ /456/

rule 6 /^123+/ /456/

rule 7 /^123?/ /456/

rule 8 /^$/ /456/

a. rule 1 is a one to one replacement of any occurence of 123 in the source number with 456.

b. rule 2 replaces any number starting with 123 with a 456.

c. rule 3 replaces only the number 123 as the source number with 456.

d. rule 4 any number with the number 456, including null.

e. rule 5 says any number that starts with 12 and has 0 or more occurence of 3 with 456.

f. rule 6 says any number that starts with 12 and has 1 or more occurence of 3 with 456

g. rule 7 says any number that starts with 12 and has 0 or 1 occurence of 3 with 456.

h. rule 8 says any number with no input digits (empty ani for example) with 456.

Misc items:

A . (dot) means a single digit.

B. [0-9] specifies a range

C. .* means any digit followed by zero or more occurence, virtually any digit including null

D. .+ means any digit followed by one or more occurence, virtually any digit excluding null

E. ^$ means no digits.

Posted in Gateways, IOS Gateways | Leave a Comment »

Call blocking when no ANI is received in E1 R2

Posted by cciestudy on June 10, 2006

Two methods.

1. Use voice translation profile to block caller id

2. Use the cas-custom > ani-digits command and specify the minimum number of digits to 1 

Posted in IOS Gateways | Leave a Comment »

How to block calls based on ANi

Posted by cciev on June 10, 2006

On a voice gateway create a translation rule as follows.

voice translation-rule 1

rule 1 reject /^$/

voice translation-profile CallBlock

translate incoming 1

dial-peer voice 1 pots

call-block translation-profile incoming CallBlock

Debug voice translation

Mar  1 09:09:40.338: //-1/xxxxxxxxxxxx/RXRULE/regxrule_get_profile_from_trunkgro
up_internal: Voice port 0×83564514 does not belong to any trunk group
Mar  1 09:09:40.342: //-1/519C1A918116/RXRULE/regxrule_match: Matched a call blo
ck rule; number= rule precedence=1

Mar  1 09:09:40.346: //-1/519C1A918116/RXRULE/regxrule_profile_block_internal: M
atched with rule 1 in ruleset 1
Mar  1 09:09:42.574: //-1/519C1A918116/RXRULE/regxrule_stack_pop_RegXruleNumInfo
: stack=0×8356487C; count=0

Posted in Gateways, IOS Gateways | Leave a Comment »

E1 R2 customizations

Posted by cciev on June 10, 2006

E1 R2 settings can be customized using a cas custom group.

controller e1 1/0

ds0-group 1 timeslots 1-24 type r2-signal r2-semi-compelled ani

cas-custom 1 —- this number should be same as ds0-group number.

dnis-digits min 3 max 11 —- if dialled digits maximum is not known, cas has to rely on a timeout (3 seconds by default). If max is known then cas will gain 3 seconds in inter digit timeout.

ani-digits min 1 max 65 —– if ani is blocked (callerid), this command can be used to block such calls. a minimum of 1 means there should be atleast one digit in the ani of the incoming call. After the router collects the max ani-digits, it sends the Caller ID End and does not collect any more digits for ani.

Refer to this link for additional custom parameters.

http://www.cisco.com/en/US/tech/tk652/tk653/technologies_tech_note09186a00800942f2.shtml

Posted in Gateways, IOS Gateways | Leave a Comment »

Dial-peer hunting choices

Posted by cciestudy on May 29, 2006

dial-peer hunt ?
<0-7> Dial-peer hunting choices, listed in hunting order within each choice:
0 – Longest match in phone number, explicit preference, random selection. Default
1 – Longest match in phone number, explicit preference, least recent use.
2 – Explicit preference, longest match in phone number, random selection.
3 – Explicit preference, longest match in phone number, least recent use.
4 – Least recent use, longest match in phone number, explicit preference.
5 – Least recent use, explicit preference, longest match in phone number.
6 – Random selection.
7 – Least recent use.

Posted in IOS Gateways | Leave a Comment »

Networking ATA, Callmanager and Voice gateway with FXS (phones)

Posted by cciev on May 26, 2006

Setup :

a. Callmanager 4.1 with IP phone extension 1005 (Callmanager IP 192.168.1.200)

b. ATA 186 with H323 load , 2 phones with extension 2000, 2001 (ATA IP 192.168.1.46)

c. H323 gateway with FXS ports with phone extension 3010, 3011 (Gateway IP 192.168.1.202)

d. Gatekeeper with 3 zones created (one for CM, one for gateway and one for ATA) (GK IP 192.168.1.201)

******Key things to note about GK registration*******

 a. ATA register with GK as Terminal

 b. H323 gateway registers with GK as Voip-GW

 c. Callmanager can be registered to the GK as Voip-GW or Terminal (Trunk configuration page)

 d. GK uses proxying between Terminals and Voip-GW's. So take special note to disable proxy from each zone that involes a Terminal and Voip-GW.

Configuration of ATA

a. Use E164 numbers in UID0 and UID1.

b. No need to set Login ID's if using E.164 numbers for GK registration

c. Specify the GKID field with the zone name (with out domain name)

d. Specify the GKOrProxy field with the IP address of the gatekeeper (192.168.1.201)

e. ATA cannot specify a tech prefix (as it registers as a terminal)

Configuration of GK

 

GateKeeper#sh gatek end
                    GATEKEEPER ENDPOINT REGISTRATION
                    ================================
CallSignalAddr  Port  RASSignalAddr   Port  Zone Name         Type    F
————— —– ————— —– ———         —-    –
192.168.1.46    1721  192.168.1.46    1739  ATA               TERM
    ENDPOINT ID: 8232D55C00000001  VERSION: 2 age= 233 secs
    E164-ID: 2001
192.168.1.46    1720  192.168.1.46    1719  ATA               TERM
    ENDPOINT ID: 82609CF000000002  VERSION: 2 age= 233 secs
    E164-ID: 2000
192.168.1.200   55419 192.168.1.200   53824 CM41              VOIP-GW
    ENDPOINT ID: 824FC0F400000004  VERSION: 2 age= 18 secs
    H323-ID: CCM_1
192.168.1.202   1720  192.168.1.202   50439 gateway           VOIP-GW
    ENDPOINT ID: 8230A09400000004  VERSION: 2 age= 40 secs
    H323-ID: 192.168.1.202
    E164-ID: 3011
    E164-ID: 3010
Total number of active registrations = 4

GateKeeper#

Gateway Configuration

interface Ethernet0/0
 ip address 192.168.1.202 255.255.255.0
 half-duplex
 h323-gateway voip interface
 h323-gateway voip id gateway ipaddr 192.168.1.201 1719
 h323-gateway voip h323-id Gateway
 h323-gateway voip tech-prefix 1#

dial-peer voice 1 pots
 destination-pattern 3010  —– phone 1
 port 1/0/0
!

dial-peer voice 2 pots
 destination-pattern 3011  —– phone 2
 port 1/0/1

dial-peer voice 10 voip
 destination-pattern 1…      —— Pattern for calls to Callmanager , No need to prepend tech prefix as 4# is  default tech prefix

 session target ras
 dtmf-relay h245-alphanumeric
 codec g711ulaw
 
!
dial-peer voice 10 voip
 destination-pattern 2…     ——- Pattern for Calls to ATA, No need for tech prefix as ATA registers to GK as terminal
 session target ras
 dtmf-relay h245-alphanumeric
 codec g711ulaw

gateway

Configuration of Callmanager

a. Add a gatekeeper (with GK's ip address, 192.168.1.201)

b. Add a Trunk (Gatekeeper controlled) and specify tech prefix 4#, the gatekeeper that was previously added, Terminal type (VOIP-GW or Terminal)  and zone name (CM41)

c. Set the significant digits on incoming calls to All.

d. Add a route pattern [23]XXX and route the calls through the trunk created in step 2. 2XXX is for ATA phones and 3XXX is for FXS phones

Posted in ATA186, Analog, Gatekeeper, Gateways, IOS Gateways | 3 Comments »

Codec Preference

Posted by cciestudy on May 26, 2006

If you use voice class codec to define preference of codecs, then the default codec of the dial peer will not be used in codec negotiation and you cannot define codecs directly on the dial-peer.
voice class codec 1

codec preference 1 g711ulaw

codec preference 1 g711alaw

In this case, the router will negotiate only g711ulaw and g711alaw. It will not use the dial-peer default codec of g729r8.

Posted in IOS Gateways | Leave a Comment »