Tuesday, 31 March 2015

Configuring Meet-Me Conference in Cisco CME with PIN requirement

Configuring Meet-Me Conference in Cisco CME


Cisco supports two types of conferences. There is the ad-hoc conference which can support upto 3 participants and there is the Meet-me conference which is basically the center of this post.

Meet-me is supported in Cisco ios routers running CALL Manager Express. It is basically a conference bridge that participants call in and hold a conference.  It is supported by hardware resources on the router. For ISR G2 routers we have PVDM3 with DSP chips on them, this support audio and video conferencing.
Below is a sample config required to support Meet-me conference upto  4 simultaneous meet-me conferences with 8 participants each in a Cisco 2951 router running CME 9.0

sccp local GigabitEthernet0/0.10
sccp ccm 192.168.10.1 identifier 1 priority 1 version 7.0
sccp
!

sccp ccm group 1
 bind interface GigabitEthernet0/0.10
 associate ccm 1 priority 1
 associate profile 1 register CME_CONF
!

voice class codec 1
 codec preference 1 g711ulaw
 codec preference 2 g711alaw
 codec preference 3 g729r8
!
dspfarm profile 1 conference 
 codec g711ulaw
 codec g711alaw
 codec g729ar8
 codec g729abr8
 codec g729r8
 codec g729br8
 maximum sessions 4
 conference-join custom-cptone JOIN-TONE
 conference-leave custom-cptone LEAVE-TONE
 associate application SCCP
no shut


voice class custom-cptone JOIN-TONE
 dualtone conference
  frequency 600 900
  cadence 350 150 350 100 350 50
!
voice class custom-cptone LEAVE-TONE
 dualtone conference
  frequency 400 800
  cadence 400 100 200 100 200 100


telephony-service
 sdspfarm conference mute-on *1 mute-off *2
 sdspfarm units 5
 sdspfarm tag 1 CME_CONF
 sdspfarm transcode sessions 4
 no privacy
 conference hardware
 no auto-reg-ephone
 max-ephones 50

ephone-template  2
 softkeys hold  Resume Newcall
 softkeys idle  Redial Newcall Cfwdall Dnd Pickup
 softkeys seized  Endcall Meetme
 softkeys alerting  Callback Endcall
 softkeys connected  Hold Endcall Trnsfer Confrn
 after-hours exempt
 type 7942

ephone-dn  20  octo-line
 number 200
 description Meet-Me Conference Number
 conference meetme
 no huntstop

ephone-dn  21  octo-line
 number 201
 description Meet-Me Conference Number
 conference meetme
 no huntstop

ephone-dn  22  octo-line
 number 202
 description Meet-Me Conference Number
 conference meetme
 no huntstop

ephone-dn  23  octo-line
 number 203
 description Meet-Me Conference Number
 conference meetme
 no huntstop


How it works
The initiator of the conference has to be physically present in the location. He/she presses the ‘New call’ softkey and then the ‘Meet-me’ softkey. Followed by the meet-me number, in this case it can be either 200/201/202 or 203. The call goes through and a conference is initiated. Other participants then dial 200/1/2/3 directly without pressing ‘Meet-me’ since the conference is already started.

The ephone-template config determines where the ‘Meet-me’ softkey is.
External participants will have to dial the full E.164 number to join the conference. In this case : +254204242200 .
A tone is played each time a person joins or leaves the conference. The tone is specified under the ‘voice class custom cp-tone…’ config

For some companies, it is required that participants have a PIN to authorize them enter the meet-me conference. To enable this, you will upload a tcl script in the router. The script prompts callers for a PIN and upon successful authentication the callers join the meet me conference.
Additional configs will be required to enable this, will update as soon as I am done with the lab.




Monday, 30 March 2015

Upgrading ASUS N550JK with an SSD

I recently had to upgrade my ASUS with an SSD for higher performance. While the machine itself came with quite some high specs, the 1TB HDD remained a big performance bottleneck.

ASUS N550JK Specs
 -Intel Core i7-4700HQ (Codename: Haswell-MB) has 4 physical cores and 8 logical cores
-A Samsung 8GB DDR3 SDRAM with memory clock speed of 800MHz
-1TB Hard-disk
-Intel HD Graphics 4600 (Video chipset codename: Haswell GT2)
-2GB NVIDIA GeForce GTX 850M (Video chipset codename: GM107M)
-15.6’’ Touchscreen
-Windows 8.1
-Motherboard Chipset: Intel HM86 (Lynx Point)
- Intel SSD 240GB (Non-rotating) Serial ATA 6Gb/s 
-Intel Dual Band Wireless-AC 7260 (Yes, it Supports 802.11ac !!!) maximum link speed is 144 Mbps

The idea was to swap the 1TB HDD with a 240GB Solid State Drive….Put the 1TB HDD in an external hard disk enclosure to use it for movies, music, backup and saving my ISOs.


The hard drive enclosure





The 240 GB SSD. I was lucky to buy this 256GB SSD on Amazon during 'Black Friday' season so I got some heavy discount. It costed me 130USD but the normal price was 290USD. So far the price of SSD is roughly 1USD per 1GB which is abit expensive but totally worth it 












Opening the asus





The 1TB HDD. After unscrewing and detaching it from the motherboard. Note it’s in an enclosure.







1TB HDD without enclosure















Ensure the ssd fits well and firmly before screwing the laptop back.
At this point the laptop has the ssd which has no OS.
Its required that before you start the replacing process, first download ASUS Backtracker ASUS Backtracker and install it, open the program and create  a backup/restore image. To do this you need a USB drive with at least 16GB space.

Power on the laptop, press Esc and boot from your recovery USB drive. Expect to see the following output if everything was done correctly.




This process takes around 40 minutes, when it finishes you’ll be setting up your laptop for the first time.
Your OS will be like it was the first time you bought the laptop, its licensed, has all asus bloatware,
mc afee antivirus et al. You will need to re-install all your applications.
But now, all my data, softwares and everything else is in the 1TB I removed. H

ow do I access it? I first connected the 1TBHDD with SATA and power connectors then inserted it in an external enclosure.
 1TB HDD



 SATA and power connectors




External enclosure



Now I connected the external 1TB using the USB cable and started installing my softwares/applications. I was shocked by how fast!! my machine became. To put it into perspective, I installed Microsoft Office, Microsoft Project and Microsoft Visio in under 5 minutes. Restarting takes only 7 seconds plus I can run upto 3 virtual machines simultaneously to various Proof of Concept labs.

Translation rules on Cisco CME

Translation rules on Call Manager Express


This post is a guide for configuring translation rules. 
It’s a simple scenario where Company X uses a Cisco Call Manager Express system based on a Cisco 2900 series router running ios 15.1

I will post actual configurations and explanations will be in between.

#voice translation-rule 1
 rule 1 /^204242\(...$\)/ /\1/     
 rule 2 /^254204242\(...$\)/ /\1/
 rule 3 /^4242\(...$\)/ /\1/

#voice translation-profile 1
translate called 1
      
Rule 1: The forward slash marks the beginning of the numbers to be matched (or translated), the caret says only numbers starting with 2 will be matched, the backslash after digit 6 is used to tell the router to ignore the opening parenthesis, and the opening parenthesis marks the beginning of set 1. Set 1 defined by … and it means any three digits, the dollar sign marks the end of the three digits, hence no digit can be added after the first 3 digits. The backslash tells the router to ignore the closing parenthesis that follows. The closing parenthesis marks the end of set 1. The forward slash marks the end of the numbers to be matched.
The second section is the translated portion. The forward slash marks the beginning of the translated numbers, the backslash tells the router to ignore 1. 1 represents Set 1 in the first section of the rule (the numbers to be matched/translated)

Rule 1 translates called numbers of the range (0204242000-0204242999) to a range (000-999). In Kenya the first range depicts landline numbers offered by Telkom Kenya. The second range depicts internal extension numbers of a given company.
Rule 2 translates called numbers of the range (254204242000-254204242999) to a range (000-999). This is used by international callers who want to call us. Someone who wants to reach me from San Jose, California will dial +254204242133 on their mobile phone. The call will be routed by their carrier, say Verizon to Telkom Kenya, the call hits our router through the E1 provided by Telkom, then gets translated to 133 and my desk phone will start ringing.
Rule 3 translates called numbers of the range (424200-4242999) to the range (000-999). This rule is only used by callers within Nairobi and using landlines. Since the calling party are in our area code of 20 (For Nairobi area)
The rule instructs the router on how to reach an internal extension. Since an internal extension is defined using only 3 numbers as shown below;

Note that:
A calling party within Nairobi can use all formats. He can dial 4242133 or 0204242133 or +2544242133

A calling party within Kenya but outside Nairobi can only dial 0204242133 or +254204242133

A calling party from outside Kenya can only dial +254204242133


My extension (133) as defined in the voice gateway

#ephone-dn 9 dual-line
 number 133
 label Kevin Kamau - 133
 description Kevin Kamau
 name Kevin Kamau

A client in Kenya would reach me directly without going through the operator by dialing 0204242133 on his cellphone. The call goes through his mobile carrier, say Safaricom, then routed to Telkom and lastly hits our voice gateway through the E1 trunk.
Note that the only the first zero is ignored by the carriers so only 204242133 is examined by our router. Even the zero you in our mobile numbers is irrelevant as far as call routing is concerned.

The incoming call uses the below dial-peer to reach our company through the E1 defined as: port 0/1/1:15

#dial-peer voice 5 pots
 description "Telkom PSTN Dialpeer"
 incoming called-number .  
 direct-inward-dial
 port 0/1/1:15


The translation-profile we created earlier is applied on the E1 to do the translation

#voice-port 0/1/1:15
 translation-profile incoming INCOMING-E1

You can test if your translation rule are working by using the following test command:

 COMPANY-X-VG#test voice translation-rule 1 254204242133
Matched with rule 5
Original number: 254204242133   Translated number: 133
Original number type: none      Translated number type: none

Original number plan: none      Translated number plan: none


This is a basic use case of using translation patterns for only incoming calls.