The Achilles Heel of all Cloud Based Call Centers!

The Cloud Call Center Problem Statement!

A very common call center requirement is the ability to route a call based on the DNIS number dialed.  This is simple enough when you have only a few DNIS numbers to manage, but consider this application:   Consider a central call center that provides centralized appointment scheduling for some 600+ medical offices.    The call center agents are required to answer an inbound call with a custom answer greeting that is based on the medical office that cares for that patient.   The solution in place today requires the cloud platform to have a unique DNIS for each of 600 medical offices.  When a medical office wants to take advantage of services offered by the call center, they call forward their phone to the unique DNIS number on the call center platform assigned to their medical office.   On an incoming ring,  the call center grabs the DNIS and uses that number to index a connected database to retrieve the  name of the medical office and then display it to the agents on call presentation so they can provide the custom answer prompt.

As you might imagine, maintaining and updating both the relative campaign and a database of DNIS numbers is not only a nuisance with many opportunities for an error, it is also not very scalable.  The simplest solution is the ability to normalize or change SIP Headers or obtain the RDNIS in a PRI connection.   Neither of these is an option in any of the many cloud based solutions we have worked with.

The CPE solution!

In a CPE based solution we can touch the boarder controller of the incoming SIP trunk and see the various headers.   In a PRI trunk you could also see not only the CID/ANI  but the DNIS and the RDNIS.   RDNIS is commonly used in a voice mail system for example, to know the correct mailbox to open so the caller does not hear a main greeting but a custom greeting for the mailbox owner.   In either the SIP or PRI environment, we would NOT need 600 DNIS numbers to solve this application.   We could see the RDNIS or the FROM SIP header and use that field to look up the correct answer prompt or medical office name in the database.  We did a complete tutorial on this SIP header manipulation to achieve this same solution though the application was a bit different.

One for all and all for one?

Another major shortfall with cloud based call centers is that you will find it very hard to make modifications that are unique to your call center.  Keep in mind that all the cloud based call centers, with the possible exception of AWS Connect, are solutions that encompass many different clients.   The cloud provider can not make a modification for your call center unless it is applicable to all their other clients.  Likewise, when they upgrade or add a new feature, you are getting the new feature and the upgrade regardless of your desire to participate!

Summary

The Cloud is an amazing resource but it is not a one size fits all.  You will need to understand your requirements and how they match to what is generally available from your provider.  You should also understand that you will be increasing your WAN connectivity requirements to include advanced options like Software Defined Networks and MPLS, BGP along with bandwidth increases and new firewall challenges that you would not have on a CPE deployment.   You will still have phone and video end points, power over ethernet switches, network access credentials, intrusion protection and all of the IT resources you would still have with the Call Center located on site.  There are many advantages to the cloud, but make sure you know what you are hitching enterprise with!

 

 

 

 

DrVoIP CISCO CIPTV2 CCNP Collaboration 300-075 Study notes!

OverView of 300-075 Content

Like many other working VoIP Engineers, I have had to upgrade my CCNP yet again. The first time was when CISCO changed from CCVP to CCNP Voice. Now we have to convert from CCNP Voice to CCNP Collaboration. The good news is, if you have a CCNP voice you only need to pass this one test, the CISCO 300-075 CIPTV2! The test however, is remarkably difficult as the availability of study materials is limited. The available CISCO Press book “Implementing IP Telephony and Video Foundation Learning Guide” is just not going to get the job done! Certainly you should digest the book but do not expect to pass this exam with only the material contained in that book. The book is useful for at least highlighting the areas you need to study:

(a) Expressway Firewall Traversal Configuration;
(b) VCS Control;
(c) All things Mobility (Device Mobility, Extension Mobility and Mobile Voice Access);
(d) SRST;
(e) QOS for Video including RSVP options;
(f) SAF and CCD; ILS and GDPR
(g) LRG, AAR and TEHO;
(h) Translation Patterns and Voice Translation Rules;

All these areas were covered in the exam, so be prepared. The good news is I got an 820 when i took the test the first time. The bad news is that passing was 860! There was once question on Call Clearing codes that I had not idea how it got in this test, but none the less you might want to review  that material in the referenced URL

300-075 Practice Tests and Dumps

If you are just looking for a cheat sheet, I really cant help you as most of the stuff on the Internet is riddled with errors.  As near as I can figure it, all the practice tests and dumps on the net have the same source and are packed for marketing under different names.   I do find that they are useful for getting some focus on the exam content, but you need to look up every question and find a reference that supports the answer the dump indicates is correct.   I found many errors through study and research!  At the end of the day, you either know this stuff or your do not know this stuff.  Here is a list of sites that have practice materials available for no charge:

https://www.prepaway.com/cisco/test-king.300-075.25738.ete.file.html
http://vceguide.com/which-three-devices-support-the-saf-call-control-discovery-protocol/
https://www.briefmenow.org/cisco/which-three-devices-support-the-saf-call-control-discovery-protocol/
http://www.aoowe.com/practice-answer-300-075-9064.html
https://www.coursehero.com/file/p2scp2p/Which-Cisco-IOS-command-is-used-to-verify-that-a-SAF-Forwarder-that-is/
http://www.cisexams.com/300-075-which-three-devices-support-the-saf-call-control-discovery-protocol-choose-three
http://freecram.com/question/Cisco.300-075.v2018-02-08.q150/a-voicemail-product-that-supports-only-the-g.711-codec-is-installed-in-headquarters-which-action-allows
https://issuu.com/andr.eshackleford88/docs/actual_300-075_dumps_-_implementinghttps://www.gratisexam.com/cisco/300-075/Cisco.Testking.300-075.v2015-07-28.by.Larry.44q.pdf

Real VoIP Engineer Study Sites

I found a few sites that are written by other engineers who are sharing their study notes as I am doing here.  Both of these are excellent examples created by other Engineers who were also cramming for this test.

https://italchemy.wordpress.com/2016/06/20/cipt2-300-075-exam-helpful-information/

https://smbitsolutions.wordpress.com/2012/02/24/tail-end-hop-off-teho/

https://ccieme.wordpress.com. (really great content)!

DrVoIP Study Notes on 300-075

In going through all the study materials, I noted my references and I offer them up here for others who may be following this path to certification.  The questions represent practice tests from the above sources in which they all had different answers to the same question.  So in keeping with my commitment to actually learn and digest this material, I dug deep to find CISCO references to support the answers or to sort through the wrong answer and find the correct answer.   As with all CISCO tests you need to carefully read the question and put the answers within the context of the subject they are asking about.  Many times there will be two very good answers, but only one is the one CISCO wants you to select to get the points for a correct answer!

1 – The HQ Cisco Unified Communications Manager has been configured for end-to-end RSVP. The BR Cisco Unified Communications Manager has been configured for local RSVP.
RSVP between the locations assigned to the IP phones and SIP trunks at each site are configured with mandatory RSVP. When a call is placed from the IP phone at HQ to the BR phone at the BR site, which statement is true?https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/admin/8_6_1/ccmsys/accm-861-cm/a02rsvp.pdf

End-to-End RSVP

End-to-end RSVP configuration is available if the clusters are connected by a SIP trunk. End-to-end RSVP uses RSVP on the entire connection between the end points, and uses only one RSVP agent per cluster.

Consider the following scenario:

endpoint A — agentA — ICT1 — ICT2 — agentB — endpoint B

where A specifies an endpoint in cluster 1, B specifies an endpoint in cluster 2, ICT1 and ICT2 specify the intercluster trunks within clusters 1 and 2, and the RSVP Agents associate with the respective end points.

In this scenario, Cisco Unified Communications Manager establishes an end-to-end RSVP connection between agentA and agentB.

Configuring End-to-End RSVP Over a SIP Trunk

RSVP configuration on a SIP trunk is determined by the SIP profile that is applied to the trunk. To enable end-to-end RSVP on a SIP trunk, configure the trunk’s SIP profile as follows:

  • From the RSVP Over SIP drop-down list, choose E2E.
  • Set the Fall back to local RSVP field to your preference.
  • From the SIP Rel1XX Options drop-down list, choose an option other than Disabled.

 

2 – Company X has deployed a VCS Control with a local zone and a traversal client zone. To facilitate external calls, VCS Expressway is deployed and traversal server zone is set up there. Video endpoints inside Company X have registered, but are unable to receive calls from outside endpoints. Which option could be the cause of this issue?

Which Three Devices Support the SAF Call Control Discover Protocol?

http://ciscoclub.ru/sites/default/files/seminar_attachments/service_advertisement_framework.pdf

https://probablycomputers.co.za/cucm-cisco-service-advertisement-framework-saf-and-call-control-discovery-ccd/

CUCM, CUBE, CME, IOS Gateway, CUCM CME are CCD SAF clients!

3 – Which two steps must you take when implementing TEHO in your environment?

https://books.google.com.au/books?id=80iuCwAAQBAJ&pg=PT151&lpg=PT151&dq=device+pool+used+to+globalize+dial+plan&source=bl&ots=uyI8e5Jt4L&sig=hZ-hEJ-XCgJT7pZHCrGR89Q5TR4&hl=en&sa=X&ved=0ahUKEwi0n-33iqLNAhXFIqYKHWdaAVEQ6AEIQjAF#v=onepage&q=device%20pool%20used%20to%20globalize%20dial%20plan&f=false

4 – Which two commands verify Cisco IP Phone registration? (Choose two.) . https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucme/troubleshooting/guide/ts_phreg.html

For SCCP phones: Use the show ephone registered command to display the status of registered SCCP phones.

For SIP phones: Use the show voice register statistics command to display statistics associated with the registration event.  Use this command to display all the SIP endpoints currently registered with the contact address.
Router# show sip-ua status registrar

5 – A pre sales engineer is working on a quote for a major customer and must evaluate how
many Cisco VCS Expressway traversal call licenses for which to plan. Calls to and from
which three routes must the engineer include in the tally? (Choose three.)    or said another way

(When do calls on a VCS use a traversal call license?

  1. Any call where the VCS takes the media as well as the signaling is a traversal calland will use a traversal call license on that VCS. The following calls require the VCS to take the media, and are therefore traversal calls:
  • for a VCS Control, calls to or from a traversal server (i.e. firewall traversal calls)
  • for a VCS Expressway, calls to or from a traversal client (i.e. firewall traversal calls); traversal clients include other VCSs, gatekeepers, Border Controllers, or traversal-enabled endpoints
  • calls that are gatewayed (interworked) between H.323 and SIP on the local VCS
  • calls that are gatewayed (interworked) between IPv4 and IPv6 on the local VCS
  • for VCSs with Dual Network Interfaces enabled, calls that are inbound from one LAN port and outbound on the other
  • a SIP to SIP call when one of the participants is behind a NAT (unless both endpoints are using ICE for NAT traversal)

6 – What is the standard Layer 3 DSCP media packet value that should be set for Cisco
TelePresence endpoints?  (CS4/32) See Table 5-1  If the question is on Telepresense it is CS4/32 if it is a quation on Video then it is AF41/34

https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/uc_system/design/guides/videodg/vidguide/qos.html

7 – Which two actions ensure that the call load from Cisco TelePresence Video
Communication Server to a Cisco Unified Communications Manager cluster is shared
across Unified CM nodes? (Choose two.)
https://www.cisco.com/c/dam/en/us/td/docs/telepresence/infrastructure/vcs/config_guide/X8-1/Cisco-VCS-Basic-Configuration-Control-with-Expressway-Deployment-Guide-X8-1.pdf  and See Table 11

8 – An engineer must resolve a call failure issue. When using RTMT, the engineer notices that
the Location Bandwidth Manager-OutOfResources counter is showing a positive value.
Which option is the cause of the call failure?

9 – An engineer is configuring URI calling within the same cluster. Which four actions must be
taken to accomplish this configuration? (Choose four.)

10 – Which two options are functionalities of subzones in  cisco vcs deployment (choose two). https://www.cisco.com/c/dam/en/us/td/docs/telepresence/infrastructure/vcs/admin_guide/Cisco_VCS_Administrator_Guide_X7-2.pdf

 

Bandwidth management

The Local Zone’s subzones are used for bandwidth management. After you have set up your subzones you can apply bandwidth limits to:

n individual calls between two endpoints within the subzone
n individual calls between an endpoint within the subzone and another endpoint outside of the subzone n the total of calls to or from endpoints within the subzone

For full details of how to create and configure subzones, and apply bandwidth limitations to subzones including the Default Subzone and Traversal Subzone, see the Bandwidth control section.

Registration, authentication and media encryption policies

In addition to bandwidth management, subzones are also used to control the VCS’s registration, authentication and media encryption policies.

Apply registration, authentication, and media encryption policies
Manage bandwidth to restrict standard definition endpoints from using more than 2 Mb of bandwidth. “Subzones are used to control the bandwidth used by various parts of your network, and to control the VCS’s registration, authentication and media encryption policies”.

11 – A voice-mail product that supports only the G.711 codec is installed in headquarters.
Which action allows branch Cisco IP phones to function with voice mail while using only the G.729 codec over the WAN link to headquarters?

Much confusion as to correct answer as some report B and others report C. The trick is in the question. The all must traverse the WAN as G.729, therefore you can not transfer at the branch. You send media to the Voice Mail at HQ as G.729 and transcode remotely at HQ. this suggests that B is the correct answer. – DrVoIP.com

12 – Which two are gatekeeper-controlled trunk options that support gatekeeper call administration control? (Choose two.) https://www.cisco.com/en/US/docs/voice_ip_comm/cucm/admin/4_0_1/ccmsys/a08trnk.html#wp1098346

13 – An engineer is configuring Global Dial Plan Replication and wants to prevent the local cluster from routing the Vice President number 5555555555 to the remote cluster. Which action accomplishes this task?   Create a Block Learned pattern as outlined in this reference

 https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/admin/11_0_1/sysConfig/CUCM_BK_C733E983_00_cucm-system-configuration-guide/CUCM_BK_C733E983_00_cucm-system-configuration-guide-transformed_chapter_01100101.html

14 – A PSTN call arrived at the MGCP gateway. The calling number was received as
14087071222 with number set to type international. The HQ_clng__pty_CSS contains the HQ_clng_pty__Pt partition. Which caller ID is displayed on the IP phone?

 

15 – Analog Voice Gateway support (See Table 1)

https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/admin/10_0_1/ccmsys/CUCM_BK_SE5FCFB6_00_cucm-system-guide-100/CUCM_BK_SE5FCFB6_00_cucm-system-guide-100_chapter_0100110.html#CUCM_RF_V83D221A_00

16 – An engineer must enable video desktop sharing between a Cisco Unified Communications Manager registered video endpoint and a Cisco VCS registered video endpoint. Which protocol must be enabled in SIP profile for VCS SIP trunk on Cisco Unified Communications Manager?

https://supportforums.cisco.com/t5/collaboration-voice-and-video/understanding-binary-floor-control-protocol-bfcp-with-wireshark/ta-p/3158882

At any rate, using Dumps is a high risk.  At $300 US to take this exam, getting a “money back guarantee” on a $59 practice test is not very helpful.   I passed the on the second attempt with an 860!   I can assure you that more than 50% of the questions were NOT on any dump.  Again the only real value in these dumps is to point you in a study area.  Take every question and open a text book, or CISCO reference and make sure you really understand the subject matter.   This is NOT an easy test, but if you study, you will pass it.   Good Luck!

 

 

 

 

 

Building an AWS Call Center is the definition of a “Disruptive” technology”!

AWS Connect – A Game Changer!

It has been almost a year since we first took a look at the AWS Connect Call Center service and what a year it has been.   Since it’s pubic release, AWS is most likely the fastest growing Call Center solution in the global market.   The reasons for this are clear and unmistakeable.   We think AWS Connect is a game changer!   Our first experience with AWS Connect was the result of a contract to move a ShoreTel ECC to AWS.    ShoreTel had basically abandoned the ECC product with no new feature develops in several years and the product was stuck at Version 9.  Given the great unknown regarding the future of ShoreTel CPE solutions, this client made the decision to move to the cloud and we were choosen to make that move painless.

Why Move to AWS Connect?

AWS Connect is a cloud based solution that follows the AWS mantra of elastic, scalable, reliable and highly available!  There is nothing to install and nothing to license!  You pay only for ‘usage’ at a couple of pennies per minute!   One client was paying some $250K a year in cloud call center licenses before they even processed their first phone call!  On AWS Connect this same spend would yield over 900,000 7 minute phone calls!  Take that to your CFO and note the reaction!  At the AWS reInvent 2017 conference, Capital One the tenth largest American Bank announced that it had moved to AWS Connect and the list of companies grows by the hour!

The DrVoIP Challenge

AWS makes it easy to spin up a call center! In less than one hour, you can have a fully functional call center handling inbound phone calls to an agent population that can be geographically distributed anywhere on the planet that supports a quality internet connection.   More than likely, it will take you more time to upload or enter the names of your agents into the Connect dashboard then it will take to create the Connect instance and obtain a telephone number! In fact DrVoIP will build out a ten agent 3 queue inbound call center for you company to pilot in under one hour!   Just give us a shout and try us!

Customization and Functionality is limited only by imagination!

One of the challenges that the current crop of cloud based call center providers face is the need. to standardize their service offering.   If you are anyone on the Gartner Magic Quadrant, you are serving thousands of users.   You can NOT make a change to the platform as it impact every customer in that providers installed base!   If you want to add a new feature, you will have to follow that vendors “product road map”.

AWS Connect has full access to the complete range of AWS Services including Lambda functions, Speech Recognition, Text to Speech, Kinesis, Mobility,  Cloudwatch, DynamoDB and the full range of AWS Storage solutions including S3 and Glacia. (recording storage and historical reports)!   Though the base instance is easy to configure and comes fully functional with a “default” call flow, the range of potential application solutions is limited only by the talent of your implementation team and your companies vision of the perfect “customer experience”.

Artificial Intelligence?

Most of the population now carries around a personal communicator that has Siri or Alex or Google and folks have not only grown accustomed to these features, they now expect them!   Do you really expect to front end your call flow with a “touch tone” based “call tree” or IVR that expects them Press 1 for English?  Come on people!   It is the 21st century!   AWS makes Alexa like features available through a natural language chat bot named LEX.   Is it not about time your call center had a natural language interface to your customer service group?    Try asking your current provider to add that functionality and when you look at the licensing fee, if the feature is available at all, pick yourself off the floor and give us a call!

Text to Speech?

Historically, as call center scripting professionals,  we resist starting a project until all of the prompts required in the call flow have been scripted, recorded, converted to the proper wav format and made available to the implementation team.   We can’t tell you how many project hours have been burned because clients did not think out the IVR messages or record the automated attendant announcements!   AWS has a wonderful feature named Polly that can enable us to script, fill the prompts with “text” and not only have our choice of voice artist and accent, but our choice of spoken language immediately available.   We can prototype call flow announcements and make changes  on the fly without waiting for a recording to be scheduled!

Data Dips with Lambda and DynamoDB

We first got involved with AWS because as consultants, we get paid on project completion.   If we have a call flow that requires a database dip to pull back  a”custom answer prompt” and were told that we had to wait for IT to spin up a Windows Server, blah, blah, blah….we would just log into AWS and spin out our favorite LAMP server and finish the project while IT was still filling out purchase requisitions!   Now we don’t even spin up a sever!  AWS is at the forefront of “server less” technology and Lambda and DynamoDB make it possible for us to write the database functions and completely ignore what the server technology is, let alone what OS it is running on!  AWS even bundles about 1 million Lambda function calls as part of its free tier.

Limitations, ah “No”!

Every system has constraints.   We have only one constraint that we have found to date on AWS but it is the same Constraint we find in Cloud solutions like Five9 and even cloud solution provider Twilio.   We can not access the telephony side of the platform to manipulate SIP message headers of other Call Control signals.  Currently this is hidden from the AWS Connect instance.  We have however, never had this be a show stopper and have always found a way to implement a work around.    At the rate AWS cranks out new feature and services however, we fully expect to see a SIP interface that we as developers can access on the shortest product road map implementation schedule in the global market place!

We Build AWS Connect Call Centers!

DrVoIP can design, deploy, maintain and manage your call center at a cost that is arguably redefines “total cost of ownership.”   Give us a call or let us know what you are thinking and you will find us to be the most experienced group of “full stack” developers available to those seeking an AWS Connect deployment!

 

 

 

 

 

 

 

 

 

 

 

Click2WebChat.com Browser Based Call Center featuring Video Chat & Screen Share!

Do you Text or Call?

Most call centers have learned that folks are not sitting at home on a wired land line phones calling for tech support,  or to make an appointment or to check on the status of an outstanding order!   These folks are rushing between jobs, kids and other responsibilities and nobody has a land line let alone time to sit at the kitchen table and with for the “next available agent”.    Everyone seems to have a portable, hand held computer doubling as a SmartPhone and as a result more folks are texting then making phone calls.

Can clients text your call center?

Over the last couple of years of working with ShoreTel and CISCO Call Center solutions, we have been repeatedly asked to enable text solutions.   We had been doing this as “one off” scripts for whatever vendor solution we were working with but we soon determined to apply the DRY (don’t repeat yourself) principle and began to productize the solution.  Initially we were focused almost entirely on text applications.   Then  a client who manufactured medical devices asked, can folks send us a picture?    So we enabled clients to text a picture to the technical support team at this company.  Apparently, attaching a photo to an email was to hard but texting a picture was a no brainer!

We then added SMS2List functionality to enable companies to create an “opt in” bulk text notification solution.    Creating a text  based list of customers that you can send a “special sale coupon” to or alert a “first responder” list of employees about an impending service outage or other emergency rapidly became typical use cases.     Additionally, a single incoming text number could support multiple applications as we enabled “keyword” message routing.    Preface your text message with a “keyword” and you could route it to a completely different group within your company.  Our “SMS2Email” quickly enabled text applications for call centers that already supported “email to the next available agent”.

Click to Call Back?

Adding a “click to call” link to a company website was next on the feature development list.    The application now supports the ability to generate a link or embed  code in your website or email signature that, when clicked on, prompts for a return number, calls your call center and when an agent gets online, completes a call to the person who clicked the link!   We even offer the option of recording the call.

Click to Video Chat?

Today, we have introduced “video chat” functionality to our quiver of customer service solutions.   You can now create a link or embed code in your company website that enables you to setup a real time voice or video chat with the next available agent!  Agents require nothing more than a Chrome or Firefox browser and a computer with microphone and camera.  In fact no formal call center is required at all.  This functionality can be established for any work group, anywhere on the globe that supports a quality internet connection.  Just log in and go!

AWS Cloud Infrastructure and subscription based!

The entire solution is built out using Twilio and AWS.   There is nothing to download or install.   The administrator or “campaign manager” creates a new campaign which generates the web hook and link or code to embed in your website and then defines the agents.   Agents log in using Chrome or Firefox (both browsers support WebRTC while Apple Safari and Microsoft IE figure out their own protocol route) on a computer that supports a camera and USB headset.   All interactions are logged with a unique ticket number that is archived and searchable by the campaign owner.

Presentation and Demo

Product development is a process not an event and this is where we are in the process. This is an exciting solution and we will continue to make it available as we enhance functionality and explore new use cases.   If you want to “give it a go” let us know by texting the work “DEMO” to 424-348-4000 and we will get you setup with a trial account.   We are always open to new use cases and application ideas so let us know what you are thinking.

 

 

 

 

Why Arlo by Netgear Sucks so bad!

Arlo on the down low!

If you are considering Arlo for real time security and door answering, you will be very, very  disappointed.   The response time is just to long!   If you just want to have a record of what happen and can live with recorded playback, then this is the way to go.  The cameras are excellent,  but the system as a security solution is full of short falls.     Here are just a few of our pet peeves!

Painfully Slow camera Access!

Having had the Ring doorbell with built in Camera. Microphone and Speaker for a base cost of under $200,   our expectations  were set.   Hear the door bell?  Hit your iPhone app and then very quickly see and speak with the visitor.   With Arlo,  If someone knocks at the door, by the time you log in and access the door camera they are gone.   Additionally you then discover that for a four camera solution with a price of about $600, you can not talk or hear the visitor even if they are still standing their by the time your App connects!    You will need to purchase PRO if you want to Hear and Talk through the camera.    We add one Camera for about $200!

Other “Pro” features.

Arlo marketing literature is so confusing, one can only conclude that the purposely set out to confuse the buyer!  We have Arlo, Arlo Pro and Now Arlo Pro 2!  Can we make it more confusing for the helpless shopper!    Let’s  talk about “motion detection”.    You can set “motion detection” on and off but only for the entire system.   Lets say your want motion detection alerts for the front door camera, but do not want it on for the lobby camera or living room.   You want to know if someone is at the front door, not if the dog is walking across the living room!   If you want to activate “Zone” based motion detection, you need the Pro Camera.

 Pro Base Station?

If you want to use the Zone based motion detection I added a Pro camera to my four camera System and I still did not get this feature you have to purchase the Pro base.   Both the Pro and whatever you call the “Not Pro” base controller appear to be the same hardware, but the software is different.    You can spend the money to add a Pro Camera to your mix, but you still do not get the Pro base features.  They don’t mention this when you buy a Pro Camera.  This is really BS in my humble opinion.  The base units should have the same software and know which Camera they are linking to!

Geo Location Short Fall?

Also you can share notification with another member but no observations.    For example assume you have a home setup and you want motion alerts sent to both yourself and your wife.   She can share your account notifications but she can not share you “geo settings”.       I only want motion alerts when I am away from the house.   “Geo Alerts” use the Smartphone GPS app to switch this feature on and off.      Well if you share the App with your wife, would it no make sense to turn it on only when both of your iPhones are out of the house, but not when just your iPhone is out of the house?  Unfortunately when I leave the house the system is not smart enough to know my wife is still home.   Really Netgear?

Cloud storage?

Your Arlo will connect to the cloud and store your video regardless of you desire to do so or not!   In fact we think this is what slows down the response rates.    If you do not want your network connected to the cloud and subject to folks that you have no control over, you might want to think this entire Arlo cloud strategy through!    Regardless of your security setup, Arlo is going to take your pictures and send them to the cloud for storage!   For the Smartphone app to work,  you must be linking with a cloud based camera controller that has access to your cameras!  Aside from taking forever to connect, the fact that you can not control access to your cameras is perhaps the biggest concern about Arlo as a security tool!   Not only can you not control it, or reach the cameras from your internal network but you have not assurance that someone outside your network can’t connect.

Summary

Arlo customer services seems limited to “community” support.   Admittedly, the Arlo cameras are excellent and weather proof!   They have some Zoom capability and some night vision.     Netgear should consider making the base software such that you can mix cameras and get the full feature set!  They also need to make the cloud storage optional and provide network connectivity options that enable you to select your own IP and port access!

In general this is a great camera system if you only want a historical recording for later playback.  As a solution for real time security it does not match Ring and cost much more.   A single camera solution from Wansview sells for $89 and provides full tilt and swivel, bi-direcitonal sound and network connectivity options.   Not making Pro software available with Pro camera additions is a real corporate miscommunication.

Netgear should stay with their core competency as the low cost provider of switches and routers for the Home Office, Small Office market.

NOTE New Defect 12/7/2017 – Due to the fact that I was out of town the night my neighborhood was evacuated because of the  San Diego Fires, I though I would log into Arlo and check my house by camera.   My house was offline with power failure.  It was at this time that I discovered you can not access your smart phone ap, if Arlo can not make contact with the camera or router.   This means you can even check what was stored in the cloud from the Ap!  (The product development team clearly never heard of Agile, or Scrum).

WTF is Ngrok?

Ngrok better than sliced bread!

As a software engineer developing telecom based web applications, testing and validating software can be a major time sync.  How do you get your lab system on the Internet, accessible with a public IP, so you can test a Webhook or REST API for example?   What if you are working behind a router that has a dynamic IP address?   Reconfiguring your firewall for each test of the new code is a pain!  There has to be an easy way to enable testing without going through 20 acts of vaudeville to test your application code!
We recently discovered two tools that are now essential elements of our software engineering toolkit!   Ngrok is very creative service that solves many problems for testing network-based applications during the pre-deployment, development process.  Ngrok is a software service developed by Alan Shreve, clearly a genius,  who often goes by the name “Inconshreveable”!  In its simplest form, Ngrok is a solution that enables you to expose your lab web server which is normally installed behind a NAT or firewall, and connect with it over the Internet.   Ngrok makes it easy to set up a secure outbound SSL tunnel that can be reached by a hyperlink to a public IP.

Secure tunnels on Demand!

Ngrok is a powerful tool and Alan Shreve is an extraordinary personality!   He makes this available for free use!  No credit card required!   Just open an account here and give this a try!   Then download Ngrok to your local Windows, MAC O/S or Linux development platform, unzip it and run it with a very simple configuration command.   You might enter  “Ngrok http 80” into your terminal window to indicate that you have a web server listening on port 80 on your local machine.

Ngrok then displays a DNS link that you can point at to access and test your application.   Now you can demo without deploying, simplify mobile device testing, build webhook integrations or run personal cloud services from your own private network!   For a modest monthly fee, you can change the random number Ngrok generates for your unique link to a reserved domain name.  So https://92832de0.ngrok.io can become https://yourcompanyname.ngrok.io which will not change and is easy for you to deal with!  The free account generates a random number that will change each time you run Ngrok.   Using a reserved domain also makes webhooks a lot easier.  For example, when developing Twilio applications you would have to change your webhook every time you ran Ngrok.  The paid version enables a reserved domain name that you can now use to stabilize your Twilio webhook!

You can also build secure tunnels that are password protected and able to support multiple simultaneous connections.  Open http://localhost:404o on the platform running your Ngrok client and you can inspect and replay traffic:

We now regularly use Ngrok not only for development testing but also for remote support applications so we don’t have to worry about VPN credentials!    You can create TCP tunnels as easy as you set up HTTP tunnels!  This resource will save you more than enough time to pay the annual fee of $60 for a basic account (1 online process, 3 reserved domain names and eight tunnels per process).     Alan is online from time to time and otherwise provides a link to ask questions!   (Learn about Alan’s other projects here)!  No serious developer, network engineer or remote support technician can afford to be without this power utility! – DrVoIP
(As a product of the 60’s you might note that Grok was first used in “stranger in a strange land”, a SiFi novel.  Profound effect on most of the 60’s generation).

Configuring a SIP Trunk TIE Line between CISCO CUCM and ShoreTel iPBX

Merging Systems is fun and easy?

In a world of swirling mergers and acquisitions,  IT organizations are expected to integrate the different systems so that they all work together.   In the world of  IP PBX systems, that might result in having to make a ShoreTel system play nice with a CISCO system.  Actually, both systems support SIP and though it is sometimes more of an art than a science, it can be configured and made to work.   In fact we are seeing this request a lot lately.  Not sure why, but there are a lot of ShoreTel/CISCO integrations out there in the real world!   This video cheat sheet takes a look at a real world configuration from both the ShoreTel side and the CISCO side, so there is something for everybody who has to work with either or both systems.

Quick Topology Overview

In our example we have a CISCO Version 11 deployed in France and a ShoreTel version 14.2 CPE solution deployed in several NY locations.    This will be an interesting configuration as both systems have over lapping extension numbers.  For example, both systems have the range of 4100-4199 as extension numbers.  This along with a requirement for tail end hop off or TEHO at both ends makes for an interesting configuration puzzle.  We determined to take it a step at a time and get a basic SIP  TIE line working between the two systems.  Once that was up an operational, we could then focus on the basic dial plan strategy that would enable us to resolve the extension number conflict.

We are not going to use a session boarder controller at either end.   The good news is that it will greatly simplify the configuration as the two SIP proxies will directly exchange SIP messages.   In the case of the CISCO, the SIP trunk will originate on the call manager server itself and will terminate on a ShoreTel SG appliance (one of those orange boxes for you CISCO guys) with SIP Trunk resources sufficient for the number of channels you want to set up.    The bad news is, that on the CISCO side it makes trouble shooting a bit more time consuming.  If you had a CUBE in the mix you could easily open up CCSIP Messages in the debug on the IOS device, but when you do not have IOS you need to download logs from RTMT.  On the ShoreTel side, there is the ability to do a remote wire shark capture from the HQ server diagnostic panel using the SG appliance as the end point source.   (As a VOIP engineer SIP debugging should be second nature).

To avoid the use of a SBC on either end, we have to configure the solution entirely within a private IP topology.  In this case we have a 10.0.0.0 /24 network on the ShoreTel side and a 192.168.53.0/24 network on the CISCO side.   The WAN connection is an MPLS network.

ShoreTel and CISCO dial plan strategies

CISCO does not really care about over lapping extension numbers of difference in extension number ranges.  When I say, they don’t care, I mean they have a strategy for dealing with it.   You might have a multi-site deployment as a result of a recent acquisition and you have four digit extension numbers at one site, and five digit extension numbers at a different site.  CISCO can deal with this.  ShoreTel not so much.   With ShoreTel you would have to convert the four digit site to five digits (you can expand from four to five digits,  but not five to four) if you are going to have one dial plan.  In CISCO you could actually let both sites coexist with different extension number lengths.

CISCO has a verbose dial plan strategy that expects you to create route “patterns” that when matched by dialed digits, point to a gateway or route list that contains a destination reachable by that route pattern.  In our example, we set up a dial pattern of 51.xxxx with a pre-dot discard that points to the SIP trunk TIE Line over to the ShoreTel.   The SIP Trunk configuration is relatively simple and is shown in the video below.

ShoreTel requires you to configure a Trunk Group and then put your individual trunks into the group.  These individual trunks are basically SIP channels and the video also shows this configuration.  The difference in the strategy of both systems is interesting to note.   CISCO is routing to this trunk group based on a route patter that matches dialed digits.  ShoreTel is going to want you to define both an access code and list out the OPX (off premise extension) numbers that this trunk can reach.

From a digits dialed perspective, ShoreTel is going to match the dialed digits against the list of OPX extensions to route calls over the Trunk Group that contains a matching OPX list.   Note that no access code will be required, though it will be required in the Trunk Group configuration.

SIP Trunk Group Profiles

Both systems required a reference to a SIP Profile that defines specifics of the call setup messaging.    Sometimes this is a bit more of an art than a science and it may take a bit of tweaking.   CISCO has a standard SIP Profile and an associated SIP Security profile both of which will be referenced in the SIP trunk configuration.  The only change I typically make to the SIP Profile on CISCO is to activate the “enable PING option” so that I can keep track of my trunk status which would otherwise be “unknown”.

I made all my SIP Profile changes on the ShoreTel Trunk side.   This is the  list of configuration options we applied and it was the result of trying and retrying, so this list alone should be worth the blog read as it most definitely works in our example:

OptionsPing=1
OptionsPeriod=60
StripVideoCodec=1
DontFwdRefer=1
SendMacIn911CallSetup=1
HistoryInfo=diversion
EnableP-AssertedIdentity=1
AddG729AnnexB_NO=1
Hairpin=1
Register=0
RegisterUser=BTN
RegisterExpiration=3600
CustomRules=0
OverwriteFromUser=0
1CodecAnswer=1

If you have never configured a ShoreTel SIP Profile, the video walks you though this in detail.  ShoreTel provides a “standard tie-line” sip profile and suggests that you use it.  In fact if you change it, they generate a strong message urging you not to do so, but change it we did to the settings above and we had a more than acceptable result.

Extension conflict resolution

ShoreTel trunks do not out of the box allow abbreviated dialing.  The Standard ShoreTel domestic dial plan really wants what amounts to an E164 format.   ShoreTel will take all digits dialed and attempt to construct a +1 NPA – NXX – XXXX dial string.   So in this example, we are not going to be able to dial 51 as an access code on the ShoreTel side, then output only four digits.  Not going to work.    As outlined above, ShoreTel will want you to define the OPX extension reachable by the encapsulating trunk group in a detailed list as part.   The good news is that this means that you only have to dial the distant extension number and ShoreTel will see it as an OPX and route it over the associated trunk.

Clearly this means these extensions are unique.   What are we going to do? We have extensions on both sides of the TIE Line that are not unique, they are the same 41xx.   ShoreTel will allow you to create translation table to over come this limitation.   We could create a range of 61xx for our OPX list and then convert it to 41xx in the translation table and that would eliminate our problem.  Not my favorite solution but it may be the one we have to go with.   The down side is that we have no eliminated the 61xx range for use on the ShoreTel side.   Additionally, it is not very friendly to directory systems as people have to remember that if you are calling 4304 in France from New York, you need to dial 6304 not 4304 another colleague in NY!

Ideally we want to make use of that access code.  It would be nice to dial 51 + XXXX and be done with it, but as previously explained ShoreTel does not easily support that option.   It may be possible to write a custom dial plan and apply it to this specific trunk group.   For example, when working with paging adapters that have zones, you want to dial the paging amplifier and then dial your zone.   The custom dial plan for this would by “;1I” but you would still have to dial an OPX number.   For example, you would create the trunk group and maybe put 1234 as the OPX which would route the caller to the paging adapter.  The custom dial plan rule would be interpreted by ShoreTel as “do not echo any digits” enabling the paging adapter to play a second dial tone, and then you could touch tone out some digits.   Sounds like this would be a good solution but you would end up dialing eight digits, but it would free up a range of extensions that might otherwise be eaten alive by the required translation table.

ShoreTel Update

At the end of the day, the solution was to create a custom dial rule and apply it to the ShoreTel Trunk Group.  Users inside the ShoreTel would dial 50+xxxx but as a result of the custom dial rule, the ShoreTel would see 999-555-xxxx and only pass the xxxx.   Remember that ShoreTel wants you to list the extension numbers on the other side of the TIE line in the OPX list of the Trunk Group.  In a situation in which you have extension conflict you can use a translation table, but often that is not the most friendly solution.  Ideally you will want to dial and access code, get connected to the distant phone system and then out dial the extension digits regardless of extension conflict.   To do this on a ShoreTel system will require a custom dial plan modification to the trunk group.  The document on this subject is very limited so you either have to pay ShoreTel  Professional Services or be prepared to play detective.  We went the detective route, so hit us up for the solution.

 

 

 

 

 

 

 

An IP Blue soft-phone tool kit for serious CISCO voice engineers!

The trials of a Call Center Engineer!

As a consulting engineers, we spend a lot of time working remotely over a VPN connection!  Testing configurations, features and CSS access requires end points!  Typically more than one end point device!   Scripting for the call center applications is even more demanding as you need to be able to test call flows.  Now a VPN over CISCO Anyconnect that allows you to work long hours remote is always nice, is not the same as a point to point VPN.  You might get one IP Communicator up on your local machine, but it is often not practical to register multiple devices.  When testing a UCCX scripts you need multiple Agent and Supervisor Phones to really ring out (pun intended) your call flow.  How best to do this?

Enter IP Blue!

I was taking a CISCO certification class and noticed that the instructor somehow managed to get multiple IP communicators up on his desktop.  I immediately realized the value this would have for UCCX scripting in particular and CISCO CUCM work in general.  I did a bit of research and found a company named IP BLUE Software Solutions, the industry’s best kept secret!  They make some really innovative products, but the one that I now can not live without is the “VTGO-PC Multilab Softphone” a product without equal and one that is a must have for every serious CISCO VoIP Engineer.   With this product I can open some 5-8 7960 type CISCO phones on my desktop, all registered to call manager with individual extension numbers and separate sound interfaces (i.e. speakerphones).   I used to have one IP Communicator and one X-lite SIP phone open on my desk and that was the best I was able to do remotely.  Now I can open an entire call center on my desk!  Astonishing!

 

Softphone Feature Set

These softphones are fully featured CISCO 79XX models ranging from the 7960 through the 7975 and are completely configurable.   When working with multiple clients I can setup a phone for each system I remote into!  I can even right client on the Instance name and change it to a client name for future reference and quick setup when working on multiple simultaneous deployments! When working on a Call Center I can bring up a few agents, a supervisor and exercise the script for all the possible scenarios.  All on a single desktop!

The feature set includes some really nice, not CISCO features, like an answering machine function!  Very Powerful! Multiple softphone instances can run on a single PC, connecting to the same or different Call Managers.  Each softphone instance is independent from another, and can call any phone including other softphone instances.  This setup allows to easily simulate various call scenarios, verify Call Manager settings, troubleshoot VoIP issues and configure Call Center Scripts results!   If you are running a  lab while preparing for some certification exam, this tool is going to not only save space and electricity, but lower the overall air conditioning requirements!  Here are some of the other features:

  • Emulates Cisco 79xx line of IP phones with dual 14 button expansion modules
  • Tested and certified with CallManagers 3.2-4.1, CallManager Express
  • Supports Cisco Survival Remote Site Telephony, redundant CallManagers, DHCP option 150
  • High quality-low latency using multiple codecs (G.711, GSM 6.10, G.729), QoS support
  • Accessibility features for visually impaired users include text to speech and keyboard shortcuts
  • Supports Extension Mobility
  • XML telephony services
  • Configuration Wizard with user-definable profiles
  • Supports a wide range of external USB audio devices
  • STUN/UPnP NAT traversal, SKINNY fix-up protocol friendly
  • Call log with Callback
  • Call recording, storage and playback with email attachment
  • Integration with LDAP directories, MS Outlook, Windows Address Book, Instant Messengers (Microsoft, Yahoo, AOL)
  • Language Localization (English, Dutch, Danish)
  • Dialing from MS Outlook, Web pages and much more

This is the best kept secret in the industry and if you are a serious student or working engineer doing anything with the CISCO Collaboration suite, you need to own this software.  If you boss will not spend less than hourly rate he bills you out at, get it yourself!  The time you implementation and troubleshooting time you will save, will more than pay for itself in increase leisure and family time!    We rarely pitch products on this site, but this product was just so astonishing we had to share it with our readers!

 

 

CUBE SIP Header Matching – Extracting DNIS from a Toll Free Number!

The Problem – Call Forwarding DNIS to Toll Free Numbers

Recently we were presented with a new challenge while deploying a Call Center based on the CISCO UCCX Version 11.5 feature set. Generally, we employ DNIS as a strategy for defining the CSQ  service parameters.   The more specific you can make the inbound number, the less you will need to “prompt and collect” digits from your caller.   A call to a specific DNIS number can separate the English callers from the other language options, or route “customer service” differently than routing “technical support”.   DNIS is always a preferred routing strategy.    Using DNIS we can design a single call routing script that can  pull in the CSQ name; offer up the proper audio menu’s; provide unique queue handling options and customize the caller experience all based on the dialed number.

In this centralized scheduling application for a large national medical practice, patients would call a local number in their community.   This number was then forwarded by the carrier to a toll free number that rang into the centralized CISCO cluster and UCCX call center.   The issue was setting up the dial peers to address the number the caller dialed, not the toll free number.   These numbers terminated on a SIP trunk that was serviced by a CISCO CUBE and the number presented was the 10 digits of the toll free number.   The DNIS number, or the number that the caller originally dialed may or may not be buried in the TO field of the incoming SIP headers.

Solution – Step 1 Debug Captures of inbound SIP messages

We need to setup “debug ccsip messages” and “debug voice ccapi inout” and make some test calls.   We need to understand how the carrier is handling the forwarded number.    In the log output below we can see the INVITE is the 877 toll free number.   The number that the caller dialed is the 9323646969 number and we can see that it is in the TO filed of the sip message headers.   We will need to write a dial-peer,voice class uri,  translation rule and profile that extracts the TO field and routes on that number rather than the original INVITE.   It is the “voice class uri” that is most magical in this solution.   (Note that we got luck here and the carrier was handling the call forwarded number in a manner that was appropriate to our goals.   This however is not always the case)!

 

Solution Step 2 “Voice Class URI”

In this example, the caller is dialing 93236453XX which is being call forwarded to the  toll free 877 number and shows up in the sip headers in the TO field.   The solution here is to create a “voice class uri”  rule.  In the snippet below we can see “voice class uri 102 sip” with a “user-id of 9323645323” as an example.   We are going to ultimately want to translate this to a four digit extension number 5323 and this is done with the traditional translation rules.  In this example “voice translation rule 102” does this conversion.  Note however that the translation rule refers to a match on the 877 toll free number, not the  9323645323 number.  This is where the magic of  “voice class uri”, the ability to do dial-peer matching based on the uri.

The Voice Class uri is structured such that it has a unique TAG and then a matching expression or host IP address.   The the snippet below we can see two attemtps to setup up a uri filter based on the last digits in the TO field of the SIP header.  Tag 102 looks to match 5323 and tag 103 looks to match 5324:

Solution Step 3 Dial Peer Matching

The call flow is dictated by dial-peer matching.   From the following snippet:

dial-peer voice 103 voip
translation-profile incoming 5324
session protocol sipv2
incoming uri to 103
voice-class codec 1
voice-class sip bind control source-interface GigabitEthernet0/0/0
voice-class sip bind media source-interface GigabitEthernet0/0/0
dtmf-relay rtp-nte
no vad

!

dial-peer voice 102 voip
description Incoming – FAX DID
translation-profile incoming 5323
session protocol sipv2
incoming uri to 102
voice-class codec 1
voice-class sip bind control source-interface GigabitEthernet0/0/0
voice-class sip bind media source-interface GigabitEthernet0/0/0
dtmf-relay rtp-nte
no vad

We can see that the voice class reference is applied to the dial-peer much the way a voice translation-profile is applied with the expression “incoming uri to 102” which sets up a filter to match for the number  9323645323.  Note that the dial peer matches the voice class but it is the translation-profile incoming 5223 that changes the ten digit number of the URI to the desired four digit extension.  In fact if you study the voice-translation rule 102 rule 1, references the toll free number!

These tools, the voice-translation rule and the voice-class uri work together to enable us to route and match dial-peers on information in the uri and not necessarily the original INVITE sip: number! Way powerful!