Pages

Monday, December 05, 2011

UC520 and UC540 load 8.2.0 and CUE voicemail message delivery log samples with GMail TLS / SSL failures

The trace commands used on CUE are:

no trace all
clear trace
trace voicemail msgnotif all
trace configapi smtp debug
trace entitymanager NotifDevice all
trace smtp all
show trace buffer tail

Below is a successful voicemail notification to ray.maslanka@gmail.com, using smtp-server.roadrunner.com on port 25.

The WAN port is directly connected to a RoadRunner cable modem with a public IP address.

The UC520 firewall is set to "Low" via the CCA GUI and no command line modifications have been made.

4414 12/05 08:39:51.938 VMSS mnot 0 MessageNotification: Enter insertIntoMsgNotifQueue(): msg recipient: UOnenotif target: UOne
4414 12/05 08:39:51.976 capi smtp 0 SmtpServer: getSysdb(): Attribute: address
2322 12/05 08:39:51.977 capi smtp 0 SmtpSysdbNode: get(): address
4414 12/05 08:39:51.978 VMSS mnot 0 MessageNotification: query: INSERT INTO outcall_email_job VALUES ('UOne', 108, 1323092391940, 15, 0, 'UOne');
4414 12/05 08:39:51.996 VMSS mnot 0 MessageNotification: Notifying sender threads
3021 12/05 08:39:52.005 VMSS mnot 0 EmailSender: Processing job: 1
4414 12/05 08:39:52.006 VMSS mnot 0 MessageNotification: Exit insertIntoMsgNotifQueue(): notifyEmailThread=true, notifyPhoneThread=false
3021 12/05 08:39:52.113 VMSS mnot 0 EmailSender: Got a job: [owner_id=UOne, contact=ray.maslanka@gmail.com, extra_text=null, nextSendTime=1323092391940, device_type=32, device_id=108, retryCount=0, targetId=UOne, attach_vm=true, isUrgent=false, isPrivate=false, ndrreason=0, uid=15, messagetype=1, preferenceA, sender=203, callerName=User Three
3021 12/05 08:39:52.118 VMSS mnot 0 EmailSender: sendEmailNotification: checkSendPreConditions passed
3021 12/05 08:39:52.118 capi smtp 0 SmtpServer: getSysdb(): Attribute: address
2297 12/05 08:39:52.119 capi smtp 0 SmtpSysdbNode: get(): address
3021 12/05 08:39:52.119 capi smtp 0 SmtpServer: getSysdb(): Attribute: port
2307 12/05 08:39:52.120 capi smtp 0 SmtpSysdbNode: get(): port
3021 12/05 08:39:52.121 capi smtp 0 SmtpServer: getSysdb(): Attribute: userid
2322 12/05 08:39:52.122 capi smtp 0 SmtpSysdbNode: get(): userid
3021 12/05 08:39:52.122 capi smtp 0 SmtpServer: getSysdb(): Attribute: password
2318 12/05 08:39:52.123 capi smtp 0 SmtpSysdbNode: get(): password
3021 12/05 08:39:52.123 capi smtp 0 SmtpServer: getSysdb(): Attribute: authRequired
2297 12/05 08:39:52.124 capi smtp 0 SmtpSysdbNode: get(): authRequired
3021 12/05 08:39:52.130 VMSS mnot 0 EmailSender: Begin processing email job, UID=15
3021 12/05 08:39:52.158 VMSS mnot 0 EmailSender: Attachment body part added, UID=15
3021 12/05 08:39:53.476 VMSS mnot 0 EmailSender: Sent successfully, UID=15
3021 12/05 08:39:53.476 VMSS mnot 0 EmailSender: Send email rc=1
3021 12/05 08:39:53.476 VMSS mnot 0 EmailSender: Deleting email job: Device ID=108, UID=15
3021 12/05 08:39:53.495 VMSS mnot 0 EmailSender: calculateWaitTime(): current time: 1323092393492, job time: 0
3021 12/05 08:39:53.495 VMSS mnot 0 EmailSender: Wait time=0

Below is a failed voicemail notification to ray.maslanka@gmail.com, using smtp.gmail.com on port 587.

The CUE is configured to require SMTP authentication, and again using ray.maslanka@gmail.com.

Note the errors related specifically to TLS, a logical result of using port 587.

4414 12/05 09:11:59.431 VMSS mnot 0 MessageNotification: Enter insertIntoMsgNotifQueue(): msg recipient: UOnenotif target: UOne
4414 12/05 09:11:59.469 capi smtp 0 SmtpServer: getSysdb(): Attribute: address
2297 12/05 09:11:59.470 capi smtp 0 SmtpSysdbNode: get(): address
4414 12/05 09:11:59.470 VMSS mnot 0 MessageNotification: query: INSERT INTO outcall_email_job VALUES ('UOne', 108, 1323094319432, 17, 0, 'UOne');
4414 12/05 09:11:59.493 VMSS mnot 0 MessageNotification: Notifying sender threads
3021 12/05 09:11:59.502 VMSS mnot 0 EmailSender: Processing job: 1
4414 12/05 09:11:59.512 VMSS mnot 0 MessageNotification: Exit insertIntoMsgNotifQueue(): notifyEmailThread=true, notifyPhoneThread=false
3021 12/05 09:11:59.602 VMSS mnot 0 EmailSender: Got a job: [owner_id=UOne, contact=ray.maslanka@gmail.com, extra_text=null, nextSendTime=1323094319432, device_type=32, device_id=108, retryCount=0, targetId=UOne, attach_vm=true, isUrgent=false, isPrivate=false, ndrreason=0, uid=17, messagetype=1, preferenceA, sender=203, callerName=User Three
3021 12/05 09:11:59.606 VMSS mnot 0 EmailSender: sendEmailNotification: checkSendPreConditions passed
3021 12/05 09:11:59.606 capi smtp 0 SmtpServer: getSysdb(): Attribute: address
2297 12/05 09:11:59.607 capi smtp 0 SmtpSysdbNode: get(): address
3021 12/05 09:11:59.607 capi smtp 0 SmtpServer: getSysdb(): Attribute: port
2307 12/05 09:11:59.608 capi smtp 0 SmtpSysdbNode: get(): port
3021 12/05 09:11:59.609 capi smtp 0 SmtpServer: getSysdb(): Attribute: userid
2322 12/05 09:11:59.610 capi smtp 0 SmtpSysdbNode: get(): userid
3021 12/05 09:11:59.610 capi smtp 0 SmtpServer: getSysdb(): Attribute: password
2318 12/05 09:11:59.611 capi smtp 0 SmtpSysdbNode: get(): password
3021 12/05 09:11:59.612 capi smtp 0 SmtpServer: getSysdb(): Attribute: authRequired
2297 12/05 09:11:59.613 capi smtp 0 SmtpSysdbNode: get(): authRequired
3021 12/05 09:11:59.622 VMSS mnot 0 EmailSender: Begin processing email job, UID=17
3021 12/05 09:11:59.654 VMSS mnot 0 EmailSender: Attachment body part added, UID=17
3021 12/05 09:12:00.339 VMSS mnot 0 EmailSender: Error sending email, UID= 17 :javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. v18sm77175183ibh.4
3021 12/05 09:12:00.339 VMSS mnot 0 EmailSender: Send email rc=2
3021 12/05 09:12:00.339 VMSS mnot 0 EmailSender: Deleting email job: Device ID=108, UID=17
3021 12/05 09:12:00.362 VMSS mnot 0 EmailSender: calculateWaitTime(): current time: 1323094320360, job time: 0
3021 12/05 09:12:00.362 VMSS mnot 0 EmailSender: Wait time=0

Below is a failed voicemail notification to ray.maslanka@gmail.com, using smtp.gmail.com on port 465.

The CUE is configured to require SMTP authentication, and again using ray.maslanka@gmail.com.

Note the errors related "Exception reading response", not a very descriptive error but related to the 465 / SSL authentication.

4414 12/05 09:18:08.994 VMSS mnot 0 MessageNotification: Enter insertIntoMsgNotifQueue(): msg recipient: UOnenotif target: UOne
4414 12/05 09:18:09.083 capi smtp 0 SmtpServer: getSysdb(): Attribute: address
2297 12/05 09:18:09.088 capi smtp 0 SmtpSysdbNode: get(): address
4414 12/05 09:18:09.088 VMSS mnot 0 MessageNotification: query: INSERT INTO outcall_email_job VALUES ('UOne', 108, 1323094689041, 18, 0, 'UOne');
4414 12/05 09:18:09.120 VMSS mnot 0 MessageNotification: Notifying sender threads
4414 12/05 09:18:09.120 VMSS mnot 0 MessageNotification: Exit insertIntoMsgNotifQueue(): notifyEmailThread=true, notifyPhoneThread=false
3021 12/05 09:18:09.194 VMSS mnot 0 EmailSender: Processing job: 1
3021 12/05 09:18:09.212 VMSS mnot 0 EmailSender: Got a job: [owner_id=UOne, contact=ray.maslanka@gmail.com, extra_text=null, nextSendTime=1323094689041, device_type=32, device_id=108, retryCount=0, targetId=UOne, attach_vm=true, isUrgent=false, isPrivate=false, ndrreason=0, uid=18, messagetype=1, preferenceA, sender=203, callerName=User Three
3021 12/05 09:18:09.217 VMSS mnot 0 EmailSender: sendEmailNotification: checkSendPreConditions passed
3021 12/05 09:18:09.217 capi smtp 0 SmtpServer: getSysdb(): Attribute: address
2322 12/05 09:18:09.218 capi smtp 0 SmtpSysdbNode: get(): address
3021 12/05 09:18:09.218 capi smtp 0 SmtpServer: getSysdb(): Attribute: port
2297 12/05 09:18:09.220 capi smtp 0 SmtpSysdbNode: get(): port
3021 12/05 09:18:09.220 capi smtp 0 SmtpServer: getSysdb(): Attribute: userid
2318 12/05 09:18:09.221 capi smtp 0 SmtpSysdbNode: get(): userid
3021 12/05 09:18:09.222 capi smtp 0 SmtpServer: getSysdb(): Attribute: password
2307 12/05 09:18:09.223 capi smtp 0 SmtpSysdbNode: get(): password
3021 12/05 09:18:09.223 capi smtp 0 SmtpServer: getSysdb(): Attribute: authRequired
2322 12/05 09:18:09.224 capi smtp 0 SmtpSysdbNode: get(): authRequired
3021 12/05 09:18:09.230 VMSS mnot 0 EmailSender: Begin processing email job, UID=18
3021 12/05 09:18:09.261 VMSS mnot 0 EmailSender: Attachment body part added, UID=18
3021 12/05 09:20:09.532 VMSS mnot 0 EmailSender: Error sending email, UID= 18 :javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketTimeoutException: Read timed out
3021 12/05 09:20:09.532 VMSS mnot 0 EmailSender: Send email rc=2
3021 12/05 09:20:09.532 VMSS mnot 0 EmailSender: Deleting email job: Device ID=108, UID=18
3021 12/05 09:20:09.560 VMSS mnot 0 EmailSender: calculateWaitTime(): current time: 1323094809558, job time: 0
3021 12/05 09:20:09.560 VMSS mnot 0 EmailSender: Wait time=0

Below is the software version information related to the UC520 CUE.

Unfortunately the CUE release notes at http://www.cisco.com/en/US/docs/voice_ip_comm/unity_exp/rel8_6/rel_notes/rel_notes86.html#wp364157 indicate SMTP over TLS and SSL to GMail, etc is supported first in version 8.6.

show software versions


Cisco Unity Express version (8.0.6)


Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2010 by Cisco Systems, Inc.


Components:
- TimeCardView version 8.0.6
- PhoneConnect version 7.0.0
- CUE Voicemail Language Support version 8.0.6
- Monitor Agent version 7.0.0
- Madrox Multi-app Support version 8.0.6

There are multiple conversations on the Internet re: using GMail's SMTP server(s) as voicemail message delivery servers, but none with detailed resolutions.

A request for feedback in the Cisco supportforums re: the software version and related errors can be found here, with no replies at the time of this writing: https://supportforums.cisco.com/message/3503487#3503487

My strategy at this time will be to assume voicemail message delivery from UC5XX with software load 8.2.0 is not possible via GMail's SMTP servers.

Tuesday, November 29, 2011

FXO calls disconnect: fxols_line_reversal_clid_wait. On_hook line reversal detected possibily due to crossed cable

Customer running CME on c2800nm-advipservicesk9-mz.124-4.XC4.bin with 6 FXO ports on 2 VWIC2-4FXO cards.  The complaint was that callers in conversation with outside parties disconnect at random times.  The duration of the call and destination didn't seem to matter.

Running "debug voip ccapi inout" and "debug vpm all" to investigate, occasionally found the following:

Nov 22 13:06:39: htsp_process_event: [0/1/0, FXOLS_ONHOOK, E_DSP_SIG_0110]

Nov 22 13:06:39: fxols_line_reversal_clid_wait. On_hook line reversal detected possibily
due to crossed cable
Nov 22 13:06:39: htsp_process_event: [0/1/1, FXOLS_ONHOOK, E_DSP_SIG_0110]
Nov 22 13:06:39: fxols_line_reversal_clid_wait. On_hook line reversal detected possibily
due to crossed cable
Nov 22 13:06:39: htsp_process_event: [0/1/2, FXOLS_ONHOOK, E_DSP_SIG_0110]
Nov 22 13:06:39: fxols_line_reversal_clid_wait. On_hook line reversal detected possibily
due to crossed cable
Nov 22 13:06:39: htsp_process_event: [0/1/3, FXOLS_ONHOOK, E_DSP_SIG_0110]

To confirm this was not a crossed cable or a flip in tip and ring leads, cables were inspected. No physical layer changes were made in years.

To confirm the issue was not related to the FXO card (errors were only related to one card), I swapped the two card positions in the router.  The errors above continued to happen on the same ports (0/1/X), ruling out a card failure.

Running "show voice dsp group all" indicated the DSPs were up and looked normal.

DSP groups on slot 0:

dsp 1:
State: UP, firmware: 8.4.1
Max signal/voice channel: 16/16
Max credits: 240
Group: FLEX_GROUP_VOICE, complexity: FLEX
Shared credits: 240, reserved credits: 0
Signaling channels allocated: 12
Voice channels allocated: 0
Credits used: 0

dsp 5:
State: UP, firmware: 8.4.1
Max signal/voice channel: 16/16
Max credits: 240
Group: FLEX_GROUP_VOICE, complexity: FLEX
Shared credits: 240, reserved credits: 0
Signaling channels allocated: 0
Voice channels allocated: 0
Credits used: 0
Tracing physical cables further, I found the 4 ports in question were served by an Adtran Total Access 616, while the other 2 appeared to be standard POTS lines.  In discussions with the TELCO carrier, errors on the T1 serving the Adtran were found and remote access to the device was not possible.

A site visit by a carrier representative indicated "this thing is toast" and the Adtran was replaced.

Problem solved.

Monday, November 07, 2011

Unity Connection 8.6 Delayed Messaging Complaints Troubleshooting

The issue to be addressed was a user claiming that they "cleared" their mailbox one afternoon, but upon arriving the next morning, heard new messages with time stamps earlier than the time they claimed they cleared it.  This is interesting in so much as they were not depending on MWI to trigger their message retrieval, but rather checking via the TUI occasionally and paying attention to message counts and time stamps.

While I might normally attribute this to user error, the user complained of multiple instances, only occasionally, leading me to believe there might be some validity to their concern.

A combination of the "User Phone Login and MWI Report" and the "User Message Activity Report" in Unity Connection should provide a basic log of messages left, user retrieval and MWI actions, but they seemed slightly broken on this system, TAC can't confirm what I am presented with is to be expected and is working on it in their own lab.  If these reports were reliable, they might be all I needed to confirm what the user was experiencing, or if they were in error.

Rather, I needed to use the UC logs and RTMT to decipher the user and system actions.

Step one was to enable micro traces on Unity Connection.  You can access these trace setting via Unity Connection Serviceability. Below they are set for Conversation Manager, MiuSkinny and Notifier, although I was most concerned with notifier (related to MWI functions with information re: message counts as well), given I suspected other traces and output might be suspect per TAC's research.






Once your traces are set and the problem is reproduced, you can use RTMT to retrieve the associated log files. You'll need as much detail from the end user as possible regarding their experience, but at very least, times associated with the message timestamps or user retrieval will be helpful.  The logs can be quite voluminous and confusing.  The correct version of RTMT can be downloaded from the Unity Connection server, not Cisco.com.  If you are like me, you may already have multiple versions installed.   It will be helpful to note what version you are installing so it can be run effectively when complete.

Below are screenshots of appropriate options to retrieve Conversation Manager and Notifier traces.






After downloading the trace files, finding a tool to search giant ugly text files for you is invaluable.  I personally use Windows Grep by Huw Millington, but that might not be the best and certainly isn't the only way to proceed.

You can start by searching for the user's alias or display name to find relevant data. Nice variables in the notifier logs also include NOTIFYQ_ACTION_MSG_NEW (associated with users receiving new messages), NOTIFYQ_ACTION_MSG_READ (users reading messages),
NOTIFYQ_ACTION_SEEN_MSG_DELETED (users deleting messages), etc.  Your needs or results may vary.

You will also find things like "resyncCheck found expected msgcounts 0,4,0,0,0,0,0,0,0,4,0,4,0,0,0,0,0" that are easy to ignore due to the comma delimited overload, but are extremely helpful.

Depending on your text editor, you may not see the data schema unless you loosen your search.  In this case its: URG VOI, VOI, RCPT, URG FAX, FAX, URG TXT, TXT, URG DISP, DISP, NONPROC,
SAVED URG VOI, SAVED VOI, SAVED RCPT, SAVED URG FAX, SAVED FAX, SAVED URG TXT, SAVED TXT.

So, the 0,4,0,0,0,0,0,0,0,4,0,4,0,0,0,0,0 indicates 4 voice messages, 4 not processed (?), and 4 saved messages associated with whatever user you are dwelling on.

Following the actions of users in the logs, you can determine exactly what times messages were received, lights lit, users acted on messages and how, lights extinguished, etc.

Ultimately, in this case I discovered, although the user claimed to check a mailbox at a specific time, they did not and all messages were retrieved and deleted the next time they reported to check messages.  There was no evidence of delayed messages or lights. The user retrieval was delayed.

It is important to note after all this headache, the problem could have been averted by a better phone and message delivery design.  The user responsible for checking messages in the box did not have a MWI available on their phone, but rather a secretary in another room (that was recently separated from the company) was the intended MWI recipient. 

After some discussion re: my findings, and some gentle finger pointing, I simply added a line appearance associated with the mailbox to the users phone and explained the difference between a lit LED under the handset and the envelope icon next to the line.

So far so good, and the user is grateful to not have to guess when to check a mailbox.

Thursday, October 27, 2011

Can't add network in VMWare notes

While attempting to add an additional network in my VMWare environment, I was returned the popular "Call "HostNetworkSystem.UpdateNetworkConfig" for object "networkSystem" on ESXi "10.200.180.5" failed. Operation failed, diagnostics report: Error interacting with configuration file /etc/vmware/esx.conf: Write failed during Unlock. This is likely due to a full or read-only filesystem. Original Error was: Error interacting with configuration file /etc/vmware/esx.conf: Unable to write to file /etc/vmware/esx.conf.FcuxNQ while saving /etc/vmware/esx.conf operation aborted. It is likely this was caused by a Full Disk." error.

All documentation points to MAINSYS reaching a 32MB limit, likely a result of some run away IPMI errors or logging.

You can check volume usage by running "df -h" at the CLI, but to do so remotely, you need to enable remote tech support.

From the VSPhere client go to Configuration tab - Security Profile - Properties - Remote Tech Support (SSH) - Options button.  From there you can choose to Start Automatically, Start and Stop with host, or Start and Stop Manually.

When started, you can SSH to the host and run from CLI.

You can run "df -h" or "vdf -h" to identify issues.  Running vdf -h showed MAINSYS full at 32MB.

You can "ls -l" around to find offending files, in my case sel.raw and sel files unusually and relatively large.

cd /var/log/ipmi/0


-rw-r--r-- 1 root root 5800 Oct 25 19:55 fru
-rw-r--r-- 1 root root 17727 Oct 25 19:54 sdr_content.raw
-rw-r--r-- 1 root root 37 Oct 25 19:55 sdr_header.raw
-rw-r--r-- 1 root root 7208960 Oct 6 08:08 sel
-rw-r--r-- 1 root root 24600538 Oct 27 12:30 sel.raw
-rw-r--r-- 1 root root 35 Oct 27 12:30 sel_header.raw
-rw-r--r-- 1 root root 882 Oct 25 20:30 sensor_hysteresis.raw
-rw-r--r-- 1 root root 2676 Oct 25 20:30 sensor_readings.raw
-rw-r--r-- 1 root root 2192 Oct 25 20:30 sensor_threshold.raw

I won't comment on modifying IPMI settings or the safety of doing so, but you can remove the files via:

rm sel
rm sel.raw

/etc/init.d/sfcbd-watchdog restart


Additionally, on Cisco UCS systems, you can SSH to CIMC and investigate sel logging and clear them via:

Server# scope sel
Server /sel # show entries
Server /sel # clear

Unity Connection CLID when transfering off premise

Customer using CUCMBE 6.1 asked me to create a new auto attendant in Unity Connection for a new office.  Several of the caller input options resulted in the caller being transferred off premise.  I found that by default, the DN of the transferring voice mail port was being presented to the PSTN via the PRI.  Using an external mask on the voicemail ports, or transferring to a forwarded DN on a CTI Route Point with an external mask still presented the voicemail DNs.

Ultimately found that the CLID of the original caller can be passed by adjusting a CUCM service parameter.

See:

System - Service Parameters - - Cisco CallManager - Clusterwide Parameters (Device - Phone) - Display Original Calling Number on Transfer from Cisco Unity

The default is False.  When changing to True, the external destination number is presented with the CLID of the original external caller.

Nice.

Wednesday, October 26, 2011

CUCM forwarding destination SQL query examples

This is just a repost of William Bell's great answer to a CUCM forward destination report question at https://supportforums.cisco.com/thread/2010685 . 

It's another really great and practical example of what's possible via SQL in CUCM.  Thank you William Bell for your time and information sharing.With some minor tweaks, it provided me with what I was looking for today in moments.

There is no native report in CUCM that can retrieve this information but you can use a SQL query (ether from the command line or via SQL Query Tool). Command line example of what you seek:

admin: run sql select d.name as device, n.dnorpattern, cfd.cfadestination from device as d inner join devicenumplanmap as dmap on dmap.fkdevice = d.pkid inner join numplan as n on n.pkid=dmap.fknumplan inner join callforwarddynamic as cfd on cfd.fknumplan=n.pkid where (cfd.cfadestination != '')

If you have an interest in seeing stations that are call forwarded to voicemail AND other destinations, then the following query can be used:

admin: run sql select d.name as device, n.dnorpattern, cfd.cfadestination from device as d inner join devicenumplanmap as dmap on dmap.fkdevice = d.pkid inner join numplan as n on n.pkid=dmap.fknumplan inner join callforwarddynamic as cfd on cfd.fknumplan=n.pkid where ((cfd.cfadestination != '') or (cfd.cfaVoicemailEnabled='t'))

If you are looking for a particular number like 17035551212 as the call forward destination, then the following could be used:

admin: run sql select d.name as device, n.dnorpattern, cfd.cfadestination from device as d inner join devicenumplanmap as dmap on dmap.fkdevice = d.pkid inner join numplan as n on n.pkid=dmap.fknumplan inner join callforwarddynamic as cfd on cfd.fknumplan=n.pkid where (cfd.cfadestination = '917035551212')

(NOTE: The above assumes that the off net access code is "9")

http://www.netcraftsmen.net/resources/blogs/running-sql-queries-on-cucm-6x7x-using-axl-soap-toolkit-part-1.html


Can ping across WAN but can't telnet

Switch A -> Router A -> 20Mb fiber WAN -> Router B

  •  Router A and Router B can ping and telnet to each other.
  • Hosts at site B have access to all resources at and beyond Site A using Router B as gateway.
  • Switch A can ping Router B but cannot telnet to it.  There are no ACLs and debug telnet shows nothing.
  • Router B can ping Switch A but cannot telnet to it.  Again, no ACLs and no debug output.

Long story short,  had to manually enter "ip classless" on Router B, despite supposedly being enabled by default.
 
The big problem here was Router B is also a voice gateway off a CUCM at site A.  Although MGCP FXO ports show registered in CUCM, show ccm-manager on the gateway indicates the CUCM as down.  The analog ports will only get a new configuration if I no ccm-manager config and ccm-manager config again, although call processing worked.

There is probably more to this story, but I haven't found it yet.  Moving on...

  
Router A#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is 10.203.3.250 to network 0.0.0.0
10.0.0.0/24 is subnetted, 4 subnets
C 10.201.201.0 is directly connected, GigabitEthernet0/1
C 10.203.3.0 is directly connected, GigabitEthernet0/0
S 10.203.10.0 [1/0] via 10.201.201.202
S 10.203.12.0 [1/0] via 10.201.201.202
S* 0.0.0.0/0 [1/0] via 10.203.3.250

Router A#sh ip int b
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 10.203.3.5 YES NVRAM up up
GigabitEthernet0/1 10.201.201.201 YES manual up up

  
Switch A#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is 10.203.4.254 to network 0.0.0.0
172.31.0.0/24 is subnetted, 1 subnets
C 172.31.254.0 is directly connected, Vlan5
10.0.0.0/8 is variably subnetted, 19 subnets, 3 masks
S 10.201.201.0/24 [1/0] via 10.203.3.5
S 10.11.253.247/32 [1/0] via 10.12.232.1
S 10.70.4.0/22 [1/0] via 10.12.232.1
S 10.0.104.0/22 [1/0] via 10.12.232.1
S 10.0.100.0/22 [1/0] via 10.12.232.1
S 10.11.244.130/32 [1/0] via 10.12.232.1
S 10.11.253.113/32 [1/0] via 10.12.232.1
S 10.110.213.32/32 [1/0] via 10.12.232.1
C 10.203.3.0/24 is directly connected, Vlan3
S 10.10.220.30/32 [1/0] via 10.12.232.1
S 10.203.5.0/24 [1/0] via 10.203.4.254
C 10.203.4.0/24 is directly connected, Vlan4
S 10.203.6.0/24 [1/0] via 10.203.4.254
S 10.203.10.0/24 [1/0] via 10.203.3.5
S 10.203.12.0/24 [1/0] via 10.203.3.5
S 10.10.220.7/32 [1/0] via 10.12.232.1
S 10.10.219.0/24 [1/0] via 10.12.232.1
S 10.60.208.0/22 [1/0] via 10.12.232.1
C 10.12.232.0/22 is directly connected, GigabitEthernet0/40
S* 0.0.0.0/0 [1/0] via 10.203.4.254

Router B#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override

Gateway of last resort is 10.201.201.201 to network 0.0.0.0

S* 0.0.0.0/0 [1/0] via 10.201.201.201
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
C 10.201.201.0/24 is directly connected, GigabitEthernet0/0
L 10.201.201.202/32 is directly connected, GigabitEthernet0/0
C 10.203.10.0/24 is directly connected, GigabitEthernet0/1.1
L 10.203.10.1/32 is directly connected, GigabitEthernet0/1.1
C 10.203.12.0/24 is directly connected, GigabitEthernet0/1.100
L 10.203.12.1/32 is directly connected, GigabitEthernet0/1.100
72.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 72.88.81.0/24 is directly connected, GigabitEthernet0/2
L 72.88.81.202/32 is directly connected, GigabitEthernet0/2
Router B#sh ip int b
Interface IP-Address OK? Method Status Protocol
Embedded-Service-Engine0/0 unassigned YES NVRAM administratively down down
GigabitEthernet0/0 10.201.201.202 YES NVRAM up up
GigabitEthernet0/1 unassigned YES NVRAM up up
GigabitEthernet0/1.1 10.203.10.1 YES NVRAM up up
GigabitEthernet0/1.100 10.203.12.1 YES NVRAM up up
GigabitEthernet0/2 72.88.81.202 YES NVRAM up up

Monday, October 24, 2011

UC520 or CME / CUE basic config with VPN and WiFi off

Although the Cisco Configuration Assistant is still a bit foreign to me (coming from a CME / CUE background), it certainly does makes basic start up and configuration tasks easy. 

The only issues I have found so far is the FXO trunk group preferences seem to get mangled, and creating station hunt groups via the Telephony Configuration Wizard seems to be broken, or more trouble than it's worth.  I also haven't thought about why digits AAAA and ABC are used in some dial-peer patterns yet, but I'm guessing CCA needs to put something there by design.  Weird.

For reference, here is a complete but basic UC520 CLI configuration, including easy VPN access and the wireless radio configured, but shut down.

UC520_MyCompany#sh run
Building configuration...
Current configuration : 33865 bytes
!
! Last configuration change at 07:37:48 EDT Mon Oct 24 2011 by cisco
!
version 15.1
parser config cache interface
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
service internal
service compress-config
service sequence-numbers
!
hostname UC520_MyCompany
!
boot-start-marker
boot-end-marker
!
!
enable secret 5 $1$FNkF$NPq0pyaK8FAVQN9bmnjS7/
!
aaa new-model
!
!
aaa authentication login default local
aaa authentication login tango_authen_login line local
aaa authentication login Foxtrot_sdm_easyvpn_xauth_ml_1 local
aaa authorization exec tango_author_exec if-authenticated
aaa authorization network Foxtrot_sdm_easyvpn_group_ml_1 local
!
!
!
!
!
aaa session-id common
!
clock timezone EST -5 0
clock summer-time EDT recurring
crypto pki token default removal timeout 0
!
crypto pki trustpoint TP-self-signed-4130517448
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-4130517448
revocation-check none
!
!
crypto pki certificate chain TP-self-signed-4130517448
certificate self-signed 01
30820251 308201BA A0030201 02020101 300D0609 2A864886 F70D0101 04050030
Blah blah blah
B33D13D81 F207908B 28A35039 3D9E3510 4C9786AB 9A
quit
dot11 syslog
!
dot11 ssid cisco-data
vlan 1
authentication open
authentication key-management wpa
wpa-psk ascii 0 cisco123
!
dot11 ssid cisco-voice
vlan 100
authentication open
authentication key-management wpa
wpa-psk ascii 0 cisco123
!
ip source-route
ip cef
!
!
ip dhcp relay information trust-all
ip dhcp excluded-address 10.1.1.1 10.1.1.9
ip dhcp excluded-address 10.1.1.241 10.1.1.255
ip dhcp excluded-address 192.168.10.1 192.168.10.9
ip dhcp excluded-address 192.168.10.241 192.168.10.255
!
ip dhcp pool phone
network 10.1.1.0 255.255.255.0
default-router 10.1.1.1
option 150 ip 10.1.1.1
!
ip dhcp pool data
import all
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
!
!
!
ip domain name mycompany.com
ip name-server 192.168.1.20
ip name-server 4.2.2.2
ip inspect WAAS flush-timeout 10
ip inspect name SDM_LOW cuseeme
ip inspect name SDM_LOW dns
ip inspect name SDM_LOW ftp
ip inspect name SDM_LOW h323
ip inspect name SDM_LOW https
ip inspect name SDM_LOW icmp
ip inspect name SDM_LOW imap
ip inspect name SDM_LOW pop3
ip inspect name SDM_LOW netshow
ip inspect name SDM_LOW rcmd
ip inspect name SDM_LOW realaudio
ip inspect name SDM_LOW rtsp
ip inspect name SDM_LOW esmtp
ip inspect name SDM_LOW sqlnet
ip inspect name SDM_LOW streamworks
ip inspect name SDM_LOW tftp
ip inspect name SDM_LOW tcp router-traffic
ip inspect name SDM_LOW udp router-traffic
ip inspect name SDM_LOW vdolive
no ipv6 cef
!
multilink bundle-name authenticated
!
stcapp ccm-group 1
stcapp
!
!
!
!
trunk group ALL_FXO
max-retry 5
voice-class cause-code 1
hunt-scheme longest-idle
!
!
voice call send-alert
voice rtp send-recv
!
voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
supplementary-service h450.12
sip
no update-callerid
!
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g729r8
!
voice class custom-cptone CCAjointone
dualtone conference
frequency 600 900
cadence 300 150 300 100 300 50
!
voice class custom-cptone CCAleavetone
dualtone conference
frequency 400 800
cadence 400 50 200 50 200 50
!
!
voice class cause-code 1
no-circuit
!
voice register global
!
!
!
voice translation-rule 1000
rule 1 /.*/ //
!
voice translation-rule 1112
rule 1 /^9/ //
!
voice translation-rule 2001
!
voice translation-rule 2002
rule 1 /^6/ //
!
voice translation-rule 2222
rule 1 /^91900......./ //
rule 2 /^91976......./ //
!
!
voice translation-profile CALLER_ID_TRANSLATION_PROFILE
translate calling 1111
!
voice translation-profile CallBlocking
translate called 2222
!
voice translation-profile OUTGOING_TRANSLATION_PROFILE
translate called 1112
!
voice translation-profile XFER_TO_VM_PROFILE
translate redirect-called 2002
!
voice translation-profile nondialable
translate called 1000
!
!
voice-card 0
dspfarm
dsp services dspfarm
!
fax interface-type fax-mail
!
!
license udi pid UC520W-8U-4FXO-K9 sn FHK112816TM
archive
log config
logging enable
logging size 600
hidekeys
username cisco privilege 15 secret 5 $1$AxRNblahblahblah.7slT5CPX88G.
!
!
ip tftp source-interface Loopback0
!
class-map match-all _class_Voice0
match ip dscp ef
class-map match-all _class_Voice1
match ip dscp cs3
!
!
policy-map Voice
class _class_Voice0
set cos 6
class _class_Voice1
set cos 3
!
!
!
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
!
crypto isakmp client configuration group EZVPN_GROUP_1
key ciscocisco
dns 192.168.1.20 4.2.2.2
pool SDM_POOL_1
save-password
max-users 10
crypto isakmp profile sdm-ike-profile-1
match identity group EZVPN_GROUP_1
client authentication list Foxtrot_sdm_easyvpn_xauth_ml_1
isakmp authorization list Foxtrot_sdm_easyvpn_group_ml_1
client configuration address respond
virtual-template 1
!
!
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
!
crypto ipsec profile SDM_Profile1
set transform-set ESP-3DES-SHA
set isakmp-profile sdm-ike-profile-1
!
!
bridge irb
!
!
!
!
interface Loopback0
description $FW_INSIDE$
ip address 10.1.10.2 255.255.255.252
ip access-group 101 in
ip nat inside
ip virtual-reassembly in
!
interface FastEthernet0/0
description $FW_OUTSIDE$
ip address 192.168.1.45 255.255.255.0
ip access-group 104 in
ip verify unicast reverse-path
ip nat outside
ip inspect SDM_LOW out
ip virtual-reassembly in
load-interval 30
duplex auto
speed auto
!
interface Integrated-Service-Engine0/0
description cue is initialized with default IMAP group
ip unnumbered Loopback0
ip nat inside
ip virtual-reassembly in
service-module ip address 10.1.10.1 255.255.255.252
service-module ip default-gateway 10.1.10.2
!
interface FastEthernet0/1/0
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/1
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/2
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/3
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/4
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/5
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/6
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/7
switchport voice vlan 100
macro description cisco-phone
spanning-tree portfast
!
interface FastEthernet0/1/8
switchport mode trunk
switchport voice vlan 100
macro description cisco-switch
!
interface Dot11Radio0/5/0
no ip address
shutdown
!
encryption vlan 1 mode ciphers aes-ccm
!
encryption vlan 100 mode ciphers aes-ccm
!
ssid cisco-data
!
ssid cisco-voice
!
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
channel 2437
station-role root
antenna receive right
antenna transmit right
world-mode dot11d country US indoor
service-policy output Voice
!
interface Dot11Radio0/5/0.1
encapsulation dot1Q 1 native
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 spanning-disabled
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
!
interface Dot11Radio0/5/0.100
encapsulation dot1Q 100
bridge-group 100
bridge-group 100 subscriber-loop-control
bridge-group 100 spanning-disabled
bridge-group 100 block-unknown-source
no bridge-group 100 source-learning
no bridge-group 100 unicast-flooding
!
interface Virtual-Template1 type tunnel
ip unnumbered BVI1
ip nat inside
ip virtual-reassembly in
tunnel mode ipsec ipv4
tunnel protection ipsec profile SDM_Profile1
!
interface Vlan1
no ip address
bridge-group 1
bridge-group 1 spanning-disabled
!
interface Vlan100
no ip address
bridge-group 100
bridge-group 100 spanning-disabled
!
interface BVI1
description $FW_INSIDE$
ip address 192.168.10.1 255.255.255.0
ip access-group 102 in
ip nat inside
ip virtual-reassembly in
!
interface BVI100
description $FW_INSIDE$
ip address 10.1.1.1 255.255.255.0
ip access-group 103 in
ip nat inside
ip virtual-reassembly in
!
ip local pool SDM_POOL_1 192.168.0.5 192.168.0.6
ip forward-protocol nd
!
ip http server
ip http authentication local
ip http secure-server
ip http path flash:/gui
ip dns server
ip nat inside source list 1 interface FastEthernet0/0 overload
ip route 0.0.0.0 0.0.0.0 192.168.1.1
ip route 10.1.10.1 255.255.255.255 Integrated-Service-Engine0/0
!
logging esm config
access-list 1 remark SDM_ACL Category=2
access-list 1 permit 10.1.1.0 0.0.0.255
access-list 1 permit 192.168.10.0 0.0.0.255
access-list 1 permit 10.1.10.0 0.0.0.3
access-list 100 remark auto generated by SDM firewall configuration
access-list 100 remark SDM_ACL Category=1
access-list 100 deny ip 192.168.10.0 0.0.0.255 any
access-list 100 deny ip host 255.255.255.255 any
access-list 100 deny ip 127.0.0.0 0.255.255.255 any
access-list 100 permit ip any any
access-list 101 remark auto generated by SDM firewall configuration##NO_ACES_8##
access-list 101 remark SDM_ACL Category=1
access-list 101 permit udp any host 10.1.10.2 eq non500-isakmp
access-list 101 permit udp any host 10.1.10.2 eq isakmp
access-list 101 permit esp any host 10.1.10.2
access-list 101 permit ahp any host 10.1.10.2
access-list 101 permit tcp 10.1.1.0 0.0.0.255 eq 2000 any
access-list 101 permit udp 10.1.1.0 0.0.0.255 eq 2000 any
access-list 101 deny ip 10.1.1.0 0.0.0.255 any
access-list 101 deny ip 192.168.10.0 0.0.0.255 any
access-list 101 deny ip 192.168.1.0 0.0.0.255 any
access-list 101 deny ip host 255.255.255.255 any
access-list 101 deny ip 127.0.0.0 0.255.255.255 any
access-list 101 permit ip any any
access-list 102 remark auto generated by SDM firewall configuration##NO_ACES_6##
access-list 102 remark SDM_ACL Category=1
access-list 102 permit udp any host 192.168.10.1 eq non500-isakmp
access-list 102 permit udp any host 192.168.10.1 eq isakmp
access-list 102 permit esp any host 192.168.10.1
access-list 102 permit ahp any host 192.168.10.1
access-list 102 deny ip 10.1.10.0 0.0.0.3 any
access-list 102 deny ip 10.1.1.0 0.0.0.255 any
access-list 102 deny ip 192.168.1.0 0.0.0.255 any
access-list 102 deny ip host 255.255.255.255 any
access-list 102 deny ip 127.0.0.0 0.255.255.255 any
access-list 102 permit ip any any
access-list 103 remark auto generated by SDM firewall configuration##NO_ACES_8##
access-list 103 remark SDM_ACL Category=1
access-list 103 permit udp any host 10.1.1.1 eq non500-isakmp
access-list 103 permit udp any host 10.1.1.1 eq isakmp
access-list 103 permit esp any host 10.1.1.1
access-list 103 permit ahp any host 10.1.1.1
access-list 103 permit tcp 10.1.10.0 0.0.0.3 any eq 2000
access-list 103 permit udp 10.1.10.0 0.0.0.3 any eq 2000
access-list 103 deny ip 10.1.10.0 0.0.0.3 any
access-list 103 deny ip 192.168.10.0 0.0.0.255 any
access-list 103 deny ip 192.168.1.0 0.0.0.255 any
access-list 103 deny ip host 255.255.255.255 any
access-list 103 deny ip 127.0.0.0 0.255.255.255 any
access-list 103 permit ip any any
access-list 104 remark auto generated by SDM firewall configuration##NO_ACES_15##
access-list 104 remark SDM_ACL Category=1
access-list 104 permit udp any host 192.168.1.45 eq non500-isakmp
access-list 104 permit udp any host 192.168.1.45 eq isakmp
access-list 104 permit esp any host 192.168.1.45
access-list 104 permit ahp any host 192.168.1.45
access-list 104 deny ip 10.1.10.0 0.0.0.3 any
access-list 104 deny ip 10.1.1.0 0.0.0.255 any
access-list 104 deny ip 192.168.10.0 0.0.0.255 any
access-list 104 permit udp host 192.168.1.20 eq domain any
access-list 104 permit udp host 4.2.2.2 eq domain any
access-list 104 permit icmp any host 192.168.1.45 echo-reply
access-list 104 permit icmp any host 192.168.1.45 time-exceeded
access-list 104 permit icmp any host 192.168.1.45 unreachable
access-list 104 deny ip 10.0.0.0 0.255.255.255 any
access-list 104 deny ip 172.16.0.0 0.15.255.255 any
access-list 104 deny ip 192.168.0.0 0.0.255.255 any
access-list 104 deny ip 127.0.0.0 0.255.255.255 any
access-list 104 deny ip host 255.255.255.255 any
access-list 104 deny ip host 0.0.0.0 any
access-list 104 deny ip any any log
!
!
!
!
snmp-server community public RO
tftp-server flash:/phones/521_524/cp524g-8-1-17.bin alias cp524g-8-1-17.bin
tftp-server flash:/phones/7906_7911/apps11.8-5-4TH1-6.sbn alias apps11.8-5-4TH1-6.sbn
tftp-server flash:/phones/7906_7911/cnu11.8-5-4TH1-6.sbn alias cnu11.8-5-4TH1-6.sbn
tftp-server flash:/phones/7906_7911/cvm11sccp.8-5-4TH1-6.sbn alias cvm11sccp.8-5-4TH1-6.sbn
tftp-server flash:/phones/7906_7911/dsp11.8-5-4TH1-6.sbn alias dsp11.8-5-4TH1-6.sbn
tftp-server flash:/phones/7906_7911/jar11sccp.8-5-4TH1-6.sbn alias jar11sccp.8-5-4TH1-6.sbn
tftp-server flash:/phones/7906_7911/SCCP11.8-5-4S.loads alias SCCP11.8-5-4S.loads
tftp-server flash:/phones/7906_7911/term06.default.loads alias term06.default.loads
tftp-server flash:/phones/7906_7911/term11.default.loads alias term11.default.loads
tftp-server flash:/phones/7941_7961/apps41.8-5-4TH1-6.sbn alias apps41.8-5-4TH1-6.sbn
tftp-server flash:/phones/7941_7961/cnu41.8-5-4TH1-6.sbn alias cnu41.8-5-4TH1-6.sbn
tftp-server flash:/phones/7941_7961/cvm41sccp.8-5-4TH1-6.sbn alias cvm41sccp.8-5-4TH1-6.sbn
tftp-server flash:/phones/7941_7961/dsp41.8-5-4TH1-6.sbn alias dsp41.8-5-4TH1-6.sbn
tftp-server flash:/phones/7941_7961/jar41sccp.8-5-4TH1-6.sbn alias jar41sccp.8-5-4TH1-6.sbn
tftp-server flash:/phones/7941_7961/SCCP41.8-5-4S.loads alias SCCP41.8-5-4S.loads
tftp-server flash:/phones/7941_7961/term41.default.loads alias term41.default.loads
tftp-server flash:/phones/7941_7961/term61.default.loads alias term61.default.loads
tftp-server flash:/ringtones/Analog1.raw alias Analog1.raw
tftp-server flash:/ringtones/Analog2.raw alias Analog2.raw
tftp-server flash:/ringtones/AreYouThere.raw alias AreYouThere.raw
tftp-server flash:/ringtones/DistinctiveRingList.xml alias DistinctiveRingList.xml
tftp-server flash:/ringtones/RingList.xml alias RingList.xml
tftp-server flash:/ringtones/AreYouThereF.raw alias AreYouThereF.raw
tftp-server flash:/ringtones/Bass.raw alias Bass.raw
tftp-server flash:/ringtones/CallBack.raw alias CallBack.raw
tftp-server flash:/ringtones/Chime.raw alias Chime.raw
tftp-server flash:/ringtones/Classic1.raw alias Classic1.raw
tftp-server flash:/ringtones/Classic2.raw alias Classic2.raw
tftp-server flash:/ringtones/ClockShop.raw alias ClockShop.raw
tftp-server flash:/ringtones/Drums1.raw alias Drums1.raw
tftp-server flash:/ringtones/Drums2.raw alias Drums2.raw
tftp-server flash:/ringtones/FilmScore.raw alias FilmScore.raw
tftp-server flash:/ringtones/HarpSynth.raw alias HarpSynth.raw
tftp-server flash:/ringtones/Jamaica.raw alias Jamaica.raw
tftp-server flash:/ringtones/KotoEffect.raw alias KotoEffect.raw
tftp-server flash:/ringtones/MusicBox.raw alias MusicBox.raw
tftp-server flash:/ringtones/Piano1.raw alias Piano1.raw
tftp-server flash:/ringtones/Piano2.raw alias Piano2.raw
tftp-server flash:/ringtones/Pop.raw alias Pop.raw
tftp-server flash:/ringtones/Pulse1.raw alias Pulse1.raw
tftp-server flash:/ringtones/Ring1.raw alias Ring1.raw
tftp-server flash:/ringtones/Ring2.raw alias Ring2.raw
tftp-server flash:/ringtones/Ring3.raw alias Ring3.raw
tftp-server flash:/ringtones/Ring4.raw alias Ring4.raw
tftp-server flash:/ringtones/Ring5.raw alias Ring5.raw
tftp-server flash:/ringtones/Ring6.raw alias Ring6.raw
tftp-server flash:/ringtones/Ring7.raw alias Ring7.raw
tftp-server flash:/ringtones/Sax1.raw alias Sax1.raw
tftp-server flash:/ringtones/Sax2.raw alias Sax2.raw
tftp-server flash:/ringtones/Vibe.raw alias Vibe.raw
tftp-server flash:/Desktops/CampusNight.png
tftp-server flash:/Desktops/TN-CampusNight.png
tftp-server flash:/Desktops/CiscoFountain.png
tftp-server flash:/Desktops/TN-CiscoFountain.png
tftp-server flash:/Desktops/CiscoLogo.png
tftp-server flash:/Desktops/TN-CiscoLogo.png
tftp-server flash:/Desktops/Fountain.png
tftp-server flash:/Desktops/TN-Fountain.png
tftp-server flash:/Desktops/MorroRock.png
tftp-server flash:/Desktops/TN-MorroRock.png
tftp-server flash:/Desktops/NantucketFlowers.png
tftp-server flash:/Desktops/TN-NantucketFlowers.png
tftp-server flash:Desktops/320x212x16/List.xml
tftp-server flash:Desktops/320x212x12/List.xml
tftp-server flash:Desktops/320x216x16/List.xml
tftp-server flash:/bacdprompts/en_bacd_allagentsbusy.au alias en_bacd_allagentsbusy.au
tftp-server flash:/bacdprompts/en_bacd_disconnect.au alias en_bacd_disconnect.au
tftp-server flash:/bacdprompts/en_bacd_enter_dest.au alias en_bacd_enter_dest.au
tftp-server flash:/bacdprompts/en_bacd_invalidoption.au alias en_bacd_invalidoption.au
tftp-server flash:/bacdprompts/en_bacd_music_on_hold.au alias en_bacd_music_on_hold.au
tftp-server flash:/bacdprompts/en_bacd_options_menu.au alias en_bacd_options_menu.au
tftp-server flash:/bacdprompts/en_bacd_welcome.au alias en_bacd_welcome.au
tftp-server flash:/bacdprompts/en_bacd_xferto_operator.au alias en_bacd_xferto_operator.au
radius-server attribute 31 send nas-port-detail
!
!
control-plane
!
bridge 1 route ip
bridge 100 route ip
!
voice-port 0/0/0
station-id number 401
caller-id enable
!
voice-port 0/0/1
station-id number 402
caller-id enable
!
voice-port 0/0/2
station-id number 403
caller-id enable
!
voice-port 0/0/3
station-id number 404
caller-id enable
!
voice-port 0/1/0
trunk-group ALL_FXO 64
connection plar opx 398
description Configured by CCA 4 FXO-0/1/0-AA
caller-id enable
!
voice-port 0/1/1
trunk-group ALL_FXO 64
connection plar opx 398
description Configured by CCA 4 FXO-0/1/1-AA
caller-id enable
!
voice-port 0/1/2
trunk-group ALL_FXO 64
connection plar opx 398
description Configured by CCA 4 FXO-0/1/2-AA
caller-id enable
!
voice-port 0/1/3
trunk-group ALL_FXO 64
connection plar opx 398
description Configured by CCA 4 FXO-0/1/3-AA
caller-id enable
!
voice-port 0/2/0
station-id number 405
caller-id enable
!
voice-port 0/2/1
station-id number 406
caller-id enable
!
voice-port 0/2/2
station-id number 407
caller-id enable
!
voice-port 0/2/3
station-id number 408
caller-id enable
!
voice-port 0/4/0
auto-cut-through
signal immediate
input gain auto-control -15
description Music On Hold Port
!
sccp local Loopback0
sccp ccm 10.1.1.1 identifier 1 version 4.0
sccp
!
sccp ccm group 1
associate ccm 1 priority 1
associate profile 1 register confprof1
!
dspfarm profile 1 conference
description DO NOT MODIFY, active CCA conference profile - CCA2.0 codec711
codec g711ulaw
codec g711alaw
maximum conference-participants 32
maximum sessions 2
conference-join custom-cptone CCAjointone
conference-leave custom-cptone CCAleavetone
associate application SCCP
!
dial-peer cor custom
name internal
name local
name local-plus
name international
name national
name national-plus
name emergency
name toll-free
!
!
dial-peer cor list call-internal
member internal
!
dial-peer cor list call-local
member local
!
dial-peer cor list call-local-plus
member local-plus
!
dial-peer cor list call-national
member national
!
dial-peer cor list call-national-plus
member national-plus
!
dial-peer cor list call-international
member international
!
dial-peer cor list call-emergency
member emergency
!
dial-peer cor list call-toll-free
member toll-free
!
dial-peer cor list user-internal
member internal
member emergency
!
dial-peer cor list user-local
member internal
member local
member emergency
member toll-free
!
dial-peer cor list user-local-plus
member internal
member local
member local-plus
member emergency
member toll-free
!
dial-peer cor list user-national
member internal
member local
member local-plus
member national
member emergency
member toll-free
!
dial-peer cor list user-national-plus
member internal
member local
member local-plus
member national
member national-plus
member emergency
member toll-free
!
dial-peer cor list user-international
member internal
member local
member local-plus
member international
member national
member national-plus
member emergency
member toll-free
!
!
dial-peer voice 1 pots
destination-pattern 401
port 0/0/0
no sip-register
!
dial-peer voice 2 pots
destination-pattern 402
port 0/0/1
no sip-register
!
dial-peer voice 3 pots
destination-pattern 403
port 0/0/2
no sip-register
!
dial-peer voice 4 pots
destination-pattern 404
port 0/0/3
no sip-register
!
dial-peer voice 5 pots
description ** MOH Port **
destination-pattern ABC
port 0/4/0
no sip-register
!
dial-peer voice 6 pots
description catch all dial peer for BRI/PRI^T
translation-profile incoming nondialable
incoming called-number .%
direct-inward-dial
!
dial-peer voice 50 pots
description ** incoming dial peer **
incoming called-number ^AAAA$
port 0/1/0
!
dial-peer voice 51 pots
description ** incoming dial peer **
incoming called-number ^AAAA$
port 0/1/1
!
dial-peer voice 52 pots
description ** incoming dial peer **
incoming called-number ^AAAA$
port 0/1/2
!
dial-peer voice 53 pots
description ** incoming dial peer **
incoming called-number ^AAAA$
port 0/1/3
!
dial-peer voice 54 pots
description ** FXO pots dial-peer **
destination-pattern A0
port 0/1/0
no sip-register
!
dial-peer voice 55 pots
description ** FXO pots dial-peer **
destination-pattern A1
port 0/1/1
no sip-register
!
dial-peer voice 56 pots
description ** FXO pots dial-peer **
destination-pattern A2
port 0/1/2
no sip-register
!
dial-peer voice 57 pots
description ** FXO pots dial-peer **
destination-pattern A3
port 0/1/3
no sip-register
!
dial-peer voice 2000 voip
description ** cue voicemail pilot number **
translation-profile outgoing XFER_TO_VM_PROFILE
destination-pattern 399
b2bua
session protocol sipv2
session target ipv4:10.1.10.1
voice-class sip outbound-proxy ipv4:10.1.10.1
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 2001 voip
description ** cue auto attendant number **
translation-profile outgoing PSTN_CallForwarding
destination-pattern 398
b2bua
session protocol sipv2
session target ipv4:10.1.10.1
voice-class sip outbound-proxy ipv4:10.1.10.1
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 2012 voip
description ** cue prompt manager number **
translation-profile outgoing PSTN_CallForwarding
destination-pattern 397
b2bua
session protocol sipv2
session target ipv4:10.1.10.1
voice-class sip outbound-proxy ipv4:10.1.10.1
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 1100 pots
destination-pattern 405
port 0/2/0
no sip-register
!
dial-peer voice 1101 pots
destination-pattern 406
port 0/2/1
no sip-register
!
dial-peer voice 1102 pots
destination-pattern 407
port 0/2/2
no sip-register
!
dial-peer voice 1103 pots
destination-pattern 408
port 0/2/3
no sip-register
!
dial-peer voice 58 pots
trunkgroup ALL_FXO
corlist outgoing call-emergency
description **CCA*North American-7-Digit*Emergency**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 9911
forward-digits all
no sip-register
!
dial-peer voice 59 pots
trunkgroup ALL_FXO
corlist outgoing call-emergency
description **CCA*North American-7-Digit*Emergency**
preference 5
destination-pattern 911
forward-digits all
no sip-register
!
dial-peer voice 60 pots
trunkgroup ALL_FXO
corlist outgoing call-local
description **CCA*North American-7-Digit*7-Digit Local**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 9[2-9]......
forward-digits all
no sip-register
!
dial-peer voice 61 pots
trunkgroup ALL_FXO
corlist outgoing call-local
description **CCA*North American-7-Digit*Service Numbers**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 9[2-9]11
forward-digits all
no sip-register
!
dial-peer voice 62 pots
trunkgroup ALL_FXO
corlist outgoing call-national
description **CCA*North American-7-Digit*Long Distance**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 91[2-9]..[2-9]......
forward-digits all
no sip-register
!
dial-peer voice 63 pots
trunkgroup ALL_FXO
corlist outgoing call-international
description **CCA*North American-7-Digit*International**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 9011T
forward-digits all
no sip-register
!
dial-peer voice 64 pots
trunkgroup ALL_FXO
corlist outgoing call-toll-free
description **CCA*North American-7-Digit*Toll-Free**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 91800.......
forward-digits all
no sip-register
!
dial-peer voice 65 pots
trunkgroup ALL_FXO
corlist outgoing call-toll-free
description **CCA*North American-7-Digit*Toll-Free**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 91888.......
forward-digits all
no sip-register
!
dial-peer voice 66 pots
trunkgroup ALL_FXO
corlist outgoing call-toll-free
description **CCA*North American-7-Digit*Toll-Free**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 91877.......
forward-digits all
no sip-register
!
dial-peer voice 67 pots
trunkgroup ALL_FXO
corlist outgoing call-toll-free
description **CCA*North American-7-Digit*Toll-Free**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 91866.......
forward-digits all
no sip-register
!
dial-peer voice 68 pots
trunkgroup ALL_FXO
corlist outgoing call-toll-free
description **CCA*North American-7-Digit*Toll-Free**
translation-profile outgoing OUTGOING_TRANSLATION_PROFILE
preference 5
destination-pattern 91855.......
forward-digits all
no sip-register
!
!
no dial-peer outbound status-check pots
!
!
telephony-service
sdspfarm conference mute-on 111 mute-off 222
sdspfarm units 5
sdspfarm tag 1 confprof1
conference hardware
video
fxo hook-flash
max-ephones 14
max-dn 56
ip source-address 10.1.1.1 port 2000
auto assign 1 to 1 type bri
calling-number initiator
service phone videoCapability 1
service phone ehookenable 1
service phone SPA525-Encryption-key cisco123
service phone SPA525-wifi-on yes
service phone SPA525-protocol SPCP
service phone SPA525-auto-detect-sccp yes
service phone SPA525-http-write yes
service phone SPA525-SSID cisco-voice
service phone SPA525-readonly no
service phone SPA525-Encryption-type WPA2_PSK
service dnis overlay
service dnis dir-lookup
service dss
timeouts interdigit 5
system message IPLogic MyCompany UC520
url services http://10.1.10.1/voiceview/common/login.do
url authentication http://10.1.10.1/voiceview/authentication/authenticate.do
cnf-file location flash:
cnf-file perphone
load 7906 SCCP11.8-5-4S
load 7911 SCCP11.8-5-4S
load 7941 SCCP41.8-5-4S
load 7941GE SCCP41.8-5-4S
load 7961 SCCP41.8-5-4S
load 7961GE SCCP41.8-5-4S
load 521G-524G cp524g-8-1-17
time-zone 12
keepalive 30 auxiliary 4
voicemail 399
max-conferences 8 gain -6
call-forward pattern .T
call-forward system redirecting-expanded
moh flash:/media/music-on-hold.au
multicast moh 239.10.16.16 port 2000
web admin system name cisco secret 5 $1$LueE$BYPOgzzgSJk4ep/WZBDMN0
dn-webedit
time-webedit
transfer-system full-consult dss
transfer-pattern 9.T
transfer-pattern .T
transfer-pattern 6... blind
secondary-dialtone 9
night-service day Sun 17:00 09:00
night-service day Mon 17:00 09:00
night-service day Tue 17:00 09:00
night-service day Wed 17:00 09:00
night-service day Thu 17:00 09:00
night-service day Fri 17:00 09:00
night-service day Sat 17:00 09:00
night-service date Jan 1 00:00 23:59
night-service date Dec 25 00:00 23:59
fac standard
create cnf-files version-stamp Jan 01 2002 00:00:00
!
!
ephone-template 15
url services 1 http://10.1.10.1/voiceview/common/login.do VoiceviewExpress
softkeys remote-in-use Newcall
softkeys idle Redial Newcall Cfwdall Pickup Gpickup Dnd Login
softkeys seized Cfwdall Endcall Redial Pickup Meetme Gpickup Callback
softkeys connected Hold Endcall Trnsfer TrnsfVM Confrn ConfList RmLstC Acct Park Select Join
button-layout 7931 2
!
!
ephone-template 16
url services 1 http://10.1.10.1/voiceview/common/login.do VoiceviewExpress
softkeys remote-in-use Newcall
softkeys idle Redial Newcall Cfwdall Pickup Gpickup Dnd Login
softkeys seized Cfwdall Endcall Redial Pickup Meetme Gpickup Callback
softkeys connected Hold Endcall Trnsfer TrnsfVM Confrn ConfList RmLstC Acct Park Select Join
!
!
ephone-template 17
url services 1 http://10.1.10.1/voiceview/common/login.do VoiceviewExpress
softkeys remote-in-use CBarge Newcall
softkeys idle Redial Newcall Cfwdall Pickup Gpickup Dnd Login
softkeys seized Cfwdall Endcall Redial Pickup Meetme Gpickup Callback
softkeys connected Hold Endcall Trnsfer TrnsfVM Confrn ConfList RmLstC Acct Park Select Join
!
!
ephone-template 18
url services 1 http://10.1.10.1/voiceview/common/login.do VoiceviewExpress
softkeys remote-in-use CBarge Newcall
softkeys idle Redial Newcall Cfwdall Pickup Gpickup Dnd Login
softkeys seized Cfwdall Endcall Redial Pickup Meetme Gpickup Callback
softkeys connected Hold Endcall Trnsfer TrnsfVM Confrn ConfList RmLstC Acct Park Select Join
button-layout 7931 2
!
!
ephone-dn 9
number BCD no-reg primary
description MoH
moh out-call ABC
!
!
ephone-dn 42 octo-line
number 771 no-reg primary
conference meetme unlocked
preference 3
!
!
ephone-dn 43 octo-line
number 771 no-reg primary
conference meetme unlocked
preference 2
no huntstop
!
!
ephone-dn 44 octo-line
number 771 no-reg primary
conference meetme unlocked
preference 1
no huntstop
!
!
ephone-dn 45 octo-line
number 771 no-reg primary
conference meetme unlocked
no huntstop
!
!
ephone-dn 46 octo-line
number C001 no-reg primary
conference ad-hoc
preference 3
!
!
ephone-dn 47 octo-line
number C001 no-reg primary
conference ad-hoc
preference 2
no huntstop
!
!
ephone-dn 48 octo-line
number C001 no-reg primary
conference ad-hoc
preference 1
no huntstop
!
!
ephone-dn 49 octo-line
number C001 no-reg primary
conference ad-hoc
no huntstop
!
!
ephone-dn 50 octo-line
number 200 no-reg primary
label Demo User Three 200
description 8007654321
name Demo UserThree
call-forward busy 399
call-forward noan 399 timeout 20
!
!
ephone-dn 51 dual-line
number 202 no-reg primary
label User One 202
description 8007654321
name Demo Userone
call-forward busy 399
call-forward noan 399 timeout 20
!
!
ephone-dn 52
number 700 no-reg primary
park-slot timeout 30 limit 2 recall retry 30 limit 2
label Park Slot 700
!
!
ephone-dn 53 octo-line
number 201 no-reg primary
label Demo User Two 201
description 8007654321
name Demo Usertwo
call-forward busy 399
call-forward noan 399 timeout 20
!
!
ephone-dn 54
number 6... no-reg primary
description ***CCA XFER TO VM EXTENSION***
call-forward all 399
!
!
ephone-dn 55
number A801... no-reg primary
mwi off
!
!
ephone-dn 56
number A800... no-reg primary
mwi on
!
!
ephone 3
device-security-mode none
video
mac-address 001B.D47D.F875
ephone-template 16
username "Demouserone" password 123456
type 7911
button 1:51
!
!
!
ephone 4
device-security-mode none
mac-address 0017.9515.E8FF
ephone-template 16
username "Demousertwo" password 123456
type 7941
button 1:53
!
!
!
ephone 5
device-security-mode none
video
mac-address 0017.9402.DACE
ephone-template 16
username "Demouserthree" password 123456
type 7961
button 1:50
!
!
alias exec cca_voice_mode PBX
banner login ^Cbanner login ^Cisco Configuration Assistant. Version: 3.1 (1). Sat Oct 22 17:17:58 EDT 2011^^C
!
line con 0
no modem enable
line aux 0
line 2
no activation-character
no exec
transport preferred none
transport input all
line vty 0 4
password cisco
authorization exec tango_author_exec
login authentication tango_authen_login
transport preferred none
transport input all
line vty 5 100
password cisco
authorization exec tango_author_exec
login authentication tango_authen_login
transport preferred none
transport input all
!
ntp master
ntp server time.nist.gov prefer
end

UC520_MyCompany#

Monday, October 10, 2011

SNR, RSSI, EIRP, etc.

This is just a repost of  https://supportforums.cisco.com/docs/DOC-12954 .  Thought it was an excellent high level summary of critical WiFi elements that I didn't want to loose:

Signal to Noise Ratio (SNR)


The power level of the RF signal relative to the power level of the noise floor is known as the Signal-to-Noise ratio or SNR. It is the ratio of signal power to the noise power corrupting the signal.

In simple words, SNR (Signal-to-Noise Ratio) is a ratio based value that evaluates your signal based on the noise being seen. SNR is measured as a positive value between 0db and 120db and the closer the value is to 120db, the better.

Let's look at the components of the SNR and then understand how SNR is determined. SNR is comprised of 2 values.

a) Signal
b) Noise

RSSI (Recieved Signal Strength Indicator) is a more common name for the Signal value. It is the strength that one device is hearing another device. This value is measured in decibels from 0 (zero) to -120 (minus 120). The closer this value to 0 (zero), stronger the signal.

Typically voice networks require a -65db or better signal level while a data network needs -80db or better. Normal range in a network would be -45db to -87db depending on power levels and design. The Signal is also affected by the APs transmit power & antenna as well as the client's antenna.

Noise is any signal that interfers with your signal. Noise can be due to other wireless devices such as cordless phones, microwave devices etc. This value is measured in decibels from 0 (zero) to -120 (minus 120). Noise level is the amount of interference in your wireless signal, so lower is better. Looking at this value, if the value is closer to -120 (minus 120) it is better because that means there is little to no interference. Typical environments range between -90db and -98db.

To calculate the SNR value, we add the Signal Value to the Noise Value and it generates (or should) a positive number that is expressed in decibels (db). For example, lets say your Signal value is -55db and your Noise value is -95db.

-55db + -95db = 40db this means you have an SNR of 40, the general rule of thumb is that any SNR above 20 is good.

Other important terminologies that we need to understand is the EIRP and Free Space Path Loss.

EIRP (Effective Isotropic Radiated Power):

EIRP (Effective Isotropic Radiated Power) is the actual amount of signal leaving the antenna and is a value measured in db and is based on 3 values:

a) Transmit Power (db)
b) Cable Loss (db)
c) Antenna Gain (dbi)

To determine EIRP follow this equation:
- Cable Loss + Antenna Gain = EIRP

For example we have a Cisco 1242AG access points running at full power with a 6dbi antenna on the 802.11a radio and a 2.5dbi antenna on the 802.11bg radio.

802.11a EIRP = 17db (40mw) - 0db + 6dbi = 23db = 200mw of actual output power
802.11bg EIRP = 20db (100mw) - 0db + 2.5dbi = 22.5db = 150mw (approx) of actual output power

Based on the example above, in theory, if you were to measure it right at the antenna you could get an RSSI of -23 or -22.5 respectively.

Free space path loss:

Free space path loss is a weakening of the RF signal due to a broadening of the wave front.

It is a measure of how much signal power the device loses over a given distance. Typically the device loses about 0.020 db per foot in an outdoor or wide open office; doors, walls, glass, and etc. affect this. This is why as a client walks away from an AP, the signal gets weaker.

All this relates to the client because it determines the signal the client recieves, also keep in mind that when looking at the client you have to account for it's antenna as well much like the EIRP.

So if a client card has a 2 dbi antenna (although they are typically either 0dbi or 2.2dbi) that boosts the incoming signal, and assuming the actual RSSI signal being seen is -68db, then:

Actual RSSI + Antenna Gain = Displayed RSSI

-68db + 2db = -66db

Check out the Cisco Enterprise Mobility Design Guide for more detail information on WLAN Radio Frequency Design Considerations.

Here is the link to the document.

WLAN Radio Frequency Design Considerations

Wednesday, September 14, 2011

Steampunk Pager EMI Site Survey Tool

This is a real test device, created by a real client with a serious issue. 

Drinking straw dispenser, aluminum foil, paper clip, permanent marker...

I hope you're as impressed by the elegance as I was.

Tuesday, August 23, 2011

Cisco debug commands for FXS troubleshooting

A short list of some basic IOS debug commands used during some FXS troubleshooting and why...

debug mgcp [packets]
Use to view the complete MGCP packets exchanged between CUCM and router.

debug vpm signal
Use to view the on−hook and off−hook signaling for the voice port.

debug vtsp dsp
Use to view digits collection performed on the router.

debug vtsp tone
Use to view any tone generated by the router (dial tone, busy signal, fastbusy, etc)

To save logs to the VG224, router, switch, etc., check the logging command and show logging to verify what is set now.

logging buffered debugging
Log debug messages to an internal buffer with a default size







Monday, August 15, 2011

Cisco WLC physically find AP by making LED flash

So you need to physically find a deployed AP that is controlled by a WLC but don't have a physical map...

(You can find this information in the Cisco Wireless LAN Controller Configuration Guide.  Reposted here because it's easier than finding it there.)

To enable the controller to send commands to the access point from its CLI, enter this command

debug ap enable your_access_point_name

To cause a specific access point to flash its LEDs for a specified number of seconds, enter this command:

debug ap command "led flash seconds" your_access_point_name

You can enter a value between 1 and 3600 seconds for the seconds parameter.

To disable LED flashing for a specific access point, enter this command:

debug ap command "led flash disable" your_access_point_name

I believe you can still also issue the led flash commands on the local APs but that requires telnetting or SSHing to individual devices.





Tuesday, June 14, 2011

CUCM disconnects and CDR SQL

Please see this post for original content: http://smbitsolutions.wordpress.com/2010/06/11/dropped-call-troubleshooting-in-cucm/

Call disconnect CDR cause codes can be found here: http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/service/7_0_1/car/carsrch.html#wp1085459

For datetimeorigination conversions, use: http://www.onlineconversion.com/unix_time.htm

My customer's complaint was that user at DN 1129 called DN 1194 and was immediately disconnected.  The user at 1129 then called 1194 back and was able to complete the call normally.  The users were power users and their descriptions of their symptoms weren't doubted.

They have an ISI call accounting system that was capable of supplying a report verifying 2 calls were made between these lines as described, and the disconnecting cause code was 16 (normal).

A little CUCM investigation showed that DN 1194 actually existed on 2 devices, only one of which is typically used.  It was the second DN on another device in a remote maintenance area used occasionally by IT vendors.

I imagine the CUCM administrator may have been able to decipher this via the ISI reports, but they asked me to investigate the disconnect report (without access to ISI).  I suspected the issue may simply be user error by the IT vendor.

Assuming originator is DN 1129 on SEP001794668C3D, disconnect code is 16, and destination is DN 1194 on SEP0017596ECEEA (good user):

run sql select datetimeorigination,callingpartynumber,origdevicename,destdevicename,finalcalledpartynumber,orignodeid,origlegcallidentifier,destnodeid,destlegidentifier from car:tbl_billing_data where destcause_value=16 and origdevicename='SEP001794668C3D' and destdevicename='SEP0017596ECEEA'

returns:

datetimeorigination callingpartynumber origdevicename destdevicename finalcalledpartynumber orignodeid origlegcallidentifier destnodeid destlegidentifier
=================== ================== =============== =============== ====================== ========== ===================== ========== =================
1307710272 1129 SEP0017946683DC SEP0017596ECEEA 1194 2 44890976 2 44890977

The 1307710272 time converts to Fri, 10 Jun 2011 12:51:12 UTC, one completed call in question.

Assuming originator is DN 1129 on SEP0017946683DC, disconnect code is 16, and destination is DN 1194 on SEP40F4ECEFAE38 (IT vendor device):

run sql select datetimeorigination,callingpartynumber,origdevicename,destdevicename,finalcalledpartynumber,orignodeid,origlegcallidentifier,destnodeid,destlegidentifier from car:tbl_billing_data where destcause_value=16 and origdevicename='SEP0017946683DC' and destdevicename='SEP40F4ECEFAE38'

datetimeorigination callingpartynumber origdevicename destdevicename finalcalledpartynumber orignodeid origlegcallidentifier destnodeid destlegidentifier
=================== ================== =============== =============== ====================== ========== ===================== ========== =================
1307710258 1129 SEP0017946683DC SEP40F4ECEFAE38 1194 2 44890956 2 44890957

The 1307710258 time converts to Fri, 10 Jun 2011 12:50:58 UTC, the one disconnected call in question.

Other interesting CDR SQL:
!

! identify common disconnect cause codes
! by originating cause
!
run sql select count(*) as count,origcause_value from car:tbl_billing_data where origcause_value not in (0,16,126,128,393216,458752) group by origcause_value order by count asc
!
! identify common disconnect cause codes
! by destination cause
!
run sql select count(*) as count,destcause_value from car:tbl_billing_data where destcause_value not in (0,16,126,128,393216,458752) group by destcause_value order by count asc
!
! identify endpoints associated with disconnect cause codes
!
run sql select count(*) as count,origdevicename from car:tbl_billing_data where origcause_value = 47 group by origdevicename order by count asc

Thursday, May 26, 2011

Cisco H.323 gateway with FXS port transfer via TCL script

Ultimately, I want to accept hookflash transfers on a T1 CAS fxs-loop-start trunk connected to an older IVR with a Dialogic T1 card.  Before I test in production, I wanted to verify this script version reliability and configuration options.  Here I am simply using an analog telephone on an VIC2-FXS card, rather than a VWIC2-1MFT-T1/E1 port connected to the Dialogic card.

Using app-h450-transfer.2.0.0.10.tcl, etc. from Cisco's site.


H.323 gateway at 192.168.1.45 is on CUCM at 10.199.2.1. It's a Cisco 2811 with VIC2-2FXS port installed at 0/1/0 with IOS version c2800nm-ipvoicek9-mz.124-22.YB2.bin

!
! NOTE: the entries here are case sensitive.
! Run "show flash:" to verify the directory and TCL script name
!
! The WORD "transfer" below is defined by me and could be any friendly name
! It's used on dial-peers later.
!
! The "param delay-time 0" entry defines how long to wait for the consultation setup
! The script default is 2 seconds.
! Here I've chosen to require no setup time.
! This requires no time between the when the XTO digits are dialed and the XOR hangs up.
!
application
service transfer flash:app-h450-transfer.2.0.0.10.tcl
paramspace english index 0
paramspace english language en
paramspace english location flash:/PROMPTS/EN/
paramspace english prefix en
param delay-time 0
!
! Just binding H.323 to the Ethernet interface.
!
interface FastEthernet0/0
ip address 192.168.1.45 255.255.255.0
duplex full
speed auto
no mop enabled
h323-gateway voip interface
h323-gateway voip bind srcaddr 192.168.1.45
!
! NOTE: here I adjust what an acceptable hookflash duration is from the XOR
!
voice-port 0/1/0
timing hookflash-in 750 150
description *** XOR ***
!
! NOTE: here we associate the service called transfer that is defined above with the incoming voip dial-peer.
! Now a the CUCM knows what to do with a hookflash signal when sending the gateway a call to 1300.
!
dial-peer voice 100 voip
service transfer
voice-class h323 1
incoming called-number 1300
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad
!
! NOTE: here we look for 1300 and send the call to port 0/1/0.
!
dial-peer voice 12 pots
destination-pattern 1300
port 0/1/0
forward-digits 0
!
! NOTE: here we allow the XOR to dial [1-8]... on CUCM to transfer to.
!
dial-peer voice 101 voip
destination-pattern [1-8]...
voice-class h323 1
session target ipv4:10.199.2.1
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad

Now when CUCM user dials 1300 and call is sent to this H.323 gateway, the analog phone at port 0/1/0 rings. The 1300 user can answer, hookflash, dial any other 4 digits and hang up. The callee hears MoH from flash momentarily and is transfered to whatever was dialed.

!
! For reference, here is the "show flash" output
!
-#- --length-- -----date/time------ path

1 47509252 Jun 08 2009 15:44:12 c2800nm-ipvoicek9-mz.124-22.YB2.bin
2 92882 Mar 13 2008 14:18:32 app-h450-transfer.2.0.0.10.tcl
3 0 May 25 2011 16:38:20 PROMPTS
4 0 May 25 2011 16:38:20 PROMPTS/EN
5 21108 Sep 29 2003 15:05:06 PROMPTS/EN/en_author_fail_alaw.au
6 21108 Sep 29 2003 15:05:02 PROMPTS/EN/en_author_fail_ulaw.au
7 96024 Sep 29 2003 15:05:10 PROMPTS/EN/en_busy_tone_alaw.au
8 96024 Sep 29 2003 15:05:04 PROMPTS/EN/en_busy_tone_ulaw.au
9 54172 Sep 29 2003 15:05:02 PROMPTS/EN/en_dest_blocked_alaw.au
10 54172 Sep 29 2003 15:05:08 PROMPTS/EN/en_dest_blocked_ulaw.au
11 42484 Sep 29 2003 15:05:06 PROMPTS/EN/en_dest_busy_alaw.au
12 42484 Sep 29 2003 15:05:02 PROMPTS/EN/en_dest_busy_ulaw.au
13 12668 Sep 29 2003 15:05:08 PROMPTS/EN/en_disconnected_alaw.au
14 12668 Sep 29 2003 15:05:02 PROMPTS/EN/en_disconnected_ulaw.au
15 19512 Sep 29 2003 15:05:06 PROMPTS/EN/en_enter_dest_alaw.au
16 19512 Sep 29 2003 15:05:00 PROMPTS/EN/en_enter_dest_ulaw.au
17 31832 Sep 29 2003 15:05:02 PROMPTS/EN/en_fast_busy_tone_alaw.au
18 31832 Sep 29 2003 15:05:00 PROMPTS/EN/en_fast_busy_tone_ulaw.au
19 496521 Sep 29 2003 15:05:00 PROMPTS/EN/en_music_xferee_alaw.au
20 496521 Sep 29 2003 15:05:08 PROMPTS/EN/en_music_xferee_ulaw.au
21 496521 Sep 29 2003 15:05:10 PROMPTS/EN/en_music_xferto_alaw.au
22 496521 Sep 29 2003 15:05:04 PROMPTS/EN/en_music_xferto_ulaw.au
23 35456 Sep 29 2003 15:05:06 PROMPTS/EN/en_no_dest_entered_alaw.au
24 35456 Sep 29 2003 15:05:02 PROMPTS/EN/en_no_dest_entered_ulaw.au
25 23506 Sep 29 2003 15:05:06 PROMPTS/EN/en_no_service_available_alaw.au
26 23506 Sep 29 2003 15:05:00 PROMPTS/EN/en_no_service_available_ulaw.au
27 42484 Sep 29 2003 15:05:04 PROMPTS/EN/en_operator_is_busy_alaw.au
28 42484 Sep 29 2003 15:05:00 PROMPTS/EN/en_operator_is_busy_ulaw.au
29 17159 Sep 29 2003 15:05:02 PROMPTS/EN/en_reenter_dest_alaw.au
30 17167 Sep 29 2003 15:05:10 PROMPTS/EN/en_reenter_dest_ulaw.au
31 200024 Sep 29 2003 15:05:08 PROMPTS/EN/en_ringback_tone_alaw.au
32 200024 Sep 29 2003 15:05:04 PROMPTS/EN/en_ringback_tone_ulaw.au

Saturday, May 14, 2011

Migrate Cisco CUCM SMB to Asterisk proof of concept

Had a request of a customer to upgrade a small (50 user) Cisco VoIP solution to the latest revisions to maintain manufacturer support. In the discussion process, it became clear additional features were desirable and as a result the licensing models would have to be changed, upgrade and recurring costs would increase, and third party applications would have to be employed.

This post will serve as a log of a really casual attempt to reproduce the desired functionality using Asterisk and / or FOSS software. My desire is to actually perform the install and configs vs. reading about them to verify what people discuss on the Internet re: Asterisk is actually what people want and / or would accept transitioning to.

The goals are:
  • 50 hardphone deployment over 2 sites. currently call control exists at site A only, and the phones are Cisco 7940s
  • BLF functionality on phones
  • IVR to answer incoming calls and provide options via DTMF
  • ACD / Call Queueing environment to distribute calls among 10 agents
    • all calls should be able to be recorded
    • calls should be able to be recorded on demand
    • historical reports of call distribution and abandoned calls should be available
    • agents should be able to identify what option was chosen from the IVR to reach them
  • voicemail with retrieval from Outlook
  • audio paging
  • texting 
  • all signaling and RTP traffic must stay on LAN
 5/13/2011

Ubuntu 11.04 download
http://www.ubuntu.com/download/ubuntu/download
  • decided on the Ubuntu OS to keep things easy knowing this may not be the production OS of choice
  • burned using Sonic RecordNow CD
  • simple next-next-next install on an old Dell Dimension desktop
  • found issues with the default display options
    • used "Ubuntu (no effects)" setting during login
    • changed top and bottom bars to 32 height for easier reading
  • changed Eth0 from DHCP to static address
  • changed / created root user password via "sudo password root" (I am not concerned about the hashed / blank / secure root password at this time). 
Asterisk on Ubuntu 10.04
http://randystech.com/index.php?option=com_content&view=article&id=89:install-asterisk-on-ubuntu-1004&catid=4:linux-server&Itemid=8
  • decided to use the guide above as basic install steps vs. a live CD etc. to be able to dissect issues later if necessary
  • found corporate desktop using IE7 made copying code difficult from site
  • decided to simply download the script and review
Asterisk on Ubuntu script
http://randystech.com/index.php?option=com_content&view=article&id=134:ubuntu-1004-asterisk-install-script&catid=4:linux-server&Itemid=8
  • used scripted install due to issues copying documented install elements
  • changed PASSWORD variable in script to something I could remember
  • used text editor find / replace to change "aptitude" to "apt-get"
  • ran in terminal via "bash asteriskinstall.sh"
Added Generic IAX Extension via FreePBX

Installed Attractel Zoiper softphone for easy testing
http://www.zoiper.com/download_list.php
Installed Counterpath X-Lite softphone
http://www.counterpath.com/x-lite.html
  • configured new IAX account (basically user / password) and registered Zoiper phone
  • configured new SIP account (basically user / password) and registered X-Lite phone
  • called voicemail, myself, some feature codes, etc. to test basic functionality.
Added IVR module using FreePBX Module Admin option.
  • added Test IVR with a few useless options
  • added feature code in FreePBX to access from softphone
  • added blank inbound route to same IVR and used 7777 to simulate call from softphone
5/14/2011

Made some test calls between Zoiper and X-Lite.  Found X-Lite seems to support Asterisk's implementation of presence basically natively.  After some very simple configuration in X-Lite that involved adding the other Zoiper extension to the contact list, the X-Lite contact list was updated when a call was in / was not in progress on the other Zoiper extension.  See setup and updated list below:

X-Lite contact list config
X-Lite reflects Zoiper is in call
A little research on Voip-Info http://www.voip-info.org/wiki/view/Asterisk+presence indicates it is as well. Although Asterisk doesn't seem to use the Presence Information Data Format (PIDF) defined in RFC 3863, this functionality / type of support is what my customer is looking for regarding BLF buttons.



5/15/2011

Added Queueing and Queuing Priorities Asterisk modules via FreePBX. 
  • Don't need Queuing  Priorities except for testing.
  • Added test queue as option from test IVR.
  • Basic call routing and queuing features function as expected.
  • CID Prefix does not work.  Was expecting "Test" to prefix caller ID on test agent phone display. Will need to research dependencies / bugs.
  • Agent audio prompt to agent on answer works nicely.