Main Menu

Unified Mobility and Mobile Voice Access

Mobility and Mobile Voice Access

Single Number Reach/Mobile Voice Access

In this article we will discuss the concepts and configuration behind Cisco Unified Mobility in UCM 9.x. Cisco Unified Mobility can be broken down into two main functional components- Mobile Connect (Single Number Reach/SNR) and Mobile Voice Access (Direct Inward System Access/DISA).

Assumptions before we begin

  • Before we dive into Unified Mobility specific configuration, we need to (as always!) make some assumptions.
  • Firstly, we assume as have a fully configured dialplan in UCM using an H323 gateway (no you are not mistaken- it is 2016). The DID range allocated to the site from the PSTN is 9723033XXX.
  • Secondly- we have a device registered and working. This deskphone has been allocated the DID 9723033001.
  • Thirdly- we have an End User created- this end user is called “sitebone”.

Single Number Reach

  • In a nutshell the goal here is to get sitebone’s cell phone to ring at the same time as the deskphone whenever extension 3001 has been called from an internal or external caller.
  • Within Cisco UCM the main ingredients required in order to configure Unified Mobility are the Remote Destination (RD) and Remote Destination Profile (RDP).
  • The RDP will contain the same extension as the Deskphone (3001 in this case). The RDP is linked to a RD which is usually a PSTN number (often a mobile phone). In our case the mobile phone is 5252222. We need to dial the PSTN access code of “9” before we dial this local PSTN number.
  • The extension (3001) is now considered a shared line. When 3001 has been called, the deskphone will ring and depending on some settings, the RD (usually a cell phone) that is linked to the RDP will also ring.

Let’s get started with configuration. First we will add/modify the End User. From the UCM Admin GUI navigate to User Management > End User and add the following user.

mob1

We should associate the user to the deskphone Site B Phone 1 and set the primary extension (not specifically required for Mobility).

2
3

Enable the user for Mobility and also Mobile Voice Access.

4

The “Maximum Wait Time for Desk Pickup” timer (defaulted to 10 seconds) is used in the following scenario:

  • Customer dials extension 3001 and user sitebone answers on his/her cell phone.
  • User sitebone then ends the call and the customer is placed On Hold for 10 seconds.
  • Within this 10 second window user sitebone can retrieve the call on the deskphone by pressing the Resume softkey on Site B Phone 1.
  • If customer disconnects at any time the call is released and user sitebone would not be able to retrieve the call.

It is time to add the Remote Destination Profile. This is used along with the Remote Destination to determine when a users cell phone (or other device) should ring when somebody calls the user’s deskphone.

From the UCM Admin GUI navigate to Device > Phone. Select Site B phone 1 and in the top right hand side of the web page you can create the Remote Destination Profile (RDP).

5

Within the RDP set the name, associate it with the End User you created earlier and set the Rerouting CSS. The Rerouting CSS is used for Mobile Connect. When Site B Phone 1 has been called, the Rerouting CSS is used to call the number defined within the Remote Destination. In the next step we are going to set the Remote Destination to 95252222. So in the RDP the Rerouting CSS must see a Route Pattern or Translation Pattern that is used for PSTN calling to local 7 digit numbers.

6

We create the Remote Destination from within the RDP. This is the PSTN number that links to the internal extension of the deskphone and RDP.

7

Add the following Remote Destination. The rerouting CSS of the Remote Destination Profile will be used to call this number.

8

The Delay Before Ringing Timer is set to 0 since we want to dial out to the PSTN at the same time as the deskphone. Bring the other timers down to zero in order to disable them- in the real world these timers should be fine tuned in order to protect against the cell phone voicemail answering the call in the event that the cell phone is turned off (Answer too soon) or the cell phone rings out to voicemail (Answer too late).

We mark the checkboxes to enable Mobile Connect and to say that this is a Mobile Phone (used when the user has answered a call from his/her deskphone and wishes to send the call to the cell phone using a softkey).

Save the Remote Destination configuration and don’t forget the checkbox (shown below) which links the RD with the internal extension number.

9

When 3001 has been dialed the deskphone as well as the Remote Destination will ring simultaneously.

At this time you should be able to call 3001 from any other phone and see that both Site B Phone 1 and the PSTN ring simultaneously.

Let us now focus on Session Handoff using *74 on PSTN Phone. When 3001 has been called from and answered on the PSTN phone then he/she should be able to enter the DTMF string *74 in order for the call to be sent to the deskphone (which will need to answer). This is more convenient than hanging up on the PSTN phone, putting the user on hold and resuming from the deskphone.

On the UCM Admin GUI navigate to System > Service Parameters and set the following:

91

On the UCM Admin GUI navigate to Device > Phone and select Site B phone 1 and set the Owner User ID as shown below.

92

When the call has been answered on the PSTN phone and the user presses *74, the user’s deskphone that is configured as the matching “owner user id” will ring.

How to Verify Session Handoff:

Ring 3001 from another device and answer on the PSTN phone. From the PSTN phone press *74 and you should see Site B Phone 1 ring. Answer this call on Site B Phone 1 and the PSTN phone should be disconnected.

Now let’s work on the other way around- the deskphone answers the incoming call. We want to send the call to the PSTN phone using a softkey.

This relies on the Owner User Id being configured on the Deskphone and also the Mobile phone checkbox on the Remote Destination should also be marked for this part of the question to work.

Let’s now add the softkey. For a 79XX device you would simply modify the softkey template and if we are using a 9971 phone at Site B then we need to use the Feature Control Policy to add the softkey.

Process for 7965

On the UCM Admin GUI navigate to Device > Device Settings > Softkey Template and select the Standard User softkey template.

Click on the Copy button and give the newly created template a new name and click on the “Default Softkey Template” checkbox.

93

Click Save.

From the top right of the webpage select Configure Softkey Layout.

We need to add the Mobility softkey on the On-hook and Connected state.

94

Save and then add the Mobility softkey in the Connected state.

95

Now click the Reset button and Site B Phone 1 should be reset. You should see the Mobility softkey in the idle state as shown below.

96

Process for 9971

On the UCM Admin GUI navigate to Device > Device Settings > Feature Control Policy as shown below:

97

From the UCM Admin GUI navigate to Device > Phone and select Site B Phone 1 and configure the following setting:

98

Save and Restart the phone. Call 3001 from another device and answer on Site B Phone 1. You should see the softkey appear.

99

Select the softkey and you should be prompted to send the caller to the mobile phone.

991

Mobile Voice Access

Before we begin we shall just set the scene. We have a functional H323 gateway called R2 and a functional UCM called SB-PUB.

In our example below the Mobile Voice Access DID is 3033000. The PSTN calls into this access number to MVA. The CallerID being sent from the PSTN is 5252222 (remember the Remote Destination created earlier is 95252222).

The flow of how MVA works can be best understood using an example.

  • PSTN caller 5252222 dials 3033000. This is the DID number and not necessarily the internal MVA number defined within the UCM cluster (keep reading!).
  • An inbound POTS dial-peer on the H323 gateway (R2) is invoked. This invokes the MVA vXML service that is defined within the POTS dial-peer.
  • CallerID is sent up to MVA server (SB-PUB). This is done using vXML as opposed to H323 or SIP.
  • MVA server checks if there is a Remote Destination (RD) matching the CallerID. If there is a matching RD then the “Enter_PIN” prompt is played back to the Caller. If there is no match then the “Enter_Remote_Destination” prompt is played back to caller. Also the Mobile Voice Access Number defined within Site B UCM (Media Resources > Mobile Voice Access) is sent back to the R2 H323 gateway. This does not have to be the same as the dialed number.
  • User enters credentials that have been prompted for. If the ANI is a known Remote Destination the user will hear “Enter PIN”. Otherwise user will hear “Enter Remote Destination ID”. We want to be able to hear “Enter PIN”.
  • User can press “1” to make a call and then dial an internal or PSTN number followed by “#”. On pressing “#” an H225 SETUP message (or SIP INVITE request is SIP is being used) is sent to the UCM – the Called Number is the Mobile Voice Access Number as defined within Media Resources > Mobile Voice Access. This is the confusing part. The gateway does not call the number that the user has dialed. For example of the user authenticates and decides to make a call to extension 4001, the gateway does NOT call this number but rather the MVA number learnt from the UCM. 4001 would be sent to the UCM using vXML.
  • At this stage the UCM is aware that this is a Mobile Voice Access call and awaits for further instruction from the vXML MVA server. There must be a dial-peer to route the call to the MVA number defined in UCM. It is common that the MVA number defined within UCM is the same as the number that has been dialed by the PSTN caller (3000) but this is not always practical in a multi-site environment where DID ranges differ.
  • The number that the user has dialed (for example 4001) is sent up to the MVA server using vXML. The CSS of the Remote Destination Profile is verified to check for access to the Called Number. Assuming that the RDP CSS can see a partition containing the pattern 4001 then the caller (PSTN via R2) is connected to the 4001.

Now onto the configuration.

You will need to find the URL to load the vXML application onto the gateway. From the SB UCM Admin GUI navigate to Help > Contents and open the Features and Services Guide. You can locate the URL by expanding the links shown below.
992

Configure R2 (the H323 gateway invoking the vXML MVA application) as shown below.

application
service mva https://192.100.65.11:8080/ccmivr/pages/IVRMainpage.vxml
!
dial-peer voice 3 pots
service mva
incoming called-number 9723033000

The voice-port has been processed prior to this inbound POTS dial-peer. In the voice-port we are normalizing the Called Number to 9723033XXX. This is why the incoming called-number statement is 10 digit DNIS.

The gateway is going to be calling extension 3000 which is our MVA DN (defined below so read on…). The following VOIP dial-peer will be used for all MVA calls.

dial-peer voice 33 voip
destination-pattern 3000
session target ipv4:192.100.65.11
codec g722-64 << or voice-class codec containing codecs
dtmf-relay h245-alphanumeric
no vad

On SB-PUB we have to enable Mobile Voice Access within the End User (this was done in the previous question). We also need to enable Mobile Voice Access in the UCM Service Parameters. Navigate toSystem > Service Parameters and select the server and service as shown below:

993

There are service parameters to change. First of all we need to enable MVA. In addition, since the Remote Destination we defined in the previous question is “95252222” and the CallerID is “5252222” there is no match & the user will hear the “Enter Remote Destination ID” prompt as opposed to the “Enter PIN” prompt. We should instruct UCM to only look at the last 7 digits of the Remote Destination number.

994

Save. There is no need to restart anything.

Now we need to enter the Mobile Voice Access number that is downloaded to the IOS gateway when an MVA call is taking place. This is the number that the gateway will call when an MVA user wishes to make a call and presses “#”. For example, when a user authenticates and press “1” to make a call and then dials “2001” and then presses “#” the gateway will make a call to the MVA DN we are defining below. In this example “2001” would be sent to the UCM using vXML. The H323 SETUP message will have a Called # of the MVA DN. It often makes sense to use the DID number used to invoke MVA but it doesn’t have to be. Think of a large enterprise which has many different DID numbers (local numbers and local gateways). There can only be one centralized MVA number in UCM and it cannot always match the DID number used to access MVA.

On SB-PUB navigate to Media Resources > Mobile Voice Access and add the following:

995

Save.

In a production environment you would not normally use the <None> partition and the IOS gateway invoking MVA would need a CSS that contains the Mobile Voice Access partition. In our case this is not a consideration as we are using the <None> partition.

The other consideration is that the Remote Destination Profile CSS is used when making MVA calls. In order to call out to the PSTN we would need visibility of the partition housing the Route Patterns/Translation Patterns (911/9.[29]XXXXXX/9.1[2-9]XX[2-9]XXXXXX/9011!/9011!#). Therefore we set the CSS of the Remote Destination Profile.

996

Troubleshooting

Before the PSTN calls into the R2 MVA gateway run the following command

R2#deb voip application vxml event

Make the call and you should see the following output.

Loading file with url (https://192.100.65.11:8080/ccmivr/IVRCalleridLookup.do?remotedest=5252222&srcdir=en_US)

You can see which CallerID is being sent up to the UCM. Even though our Remote Destination is 95252222, we have changed the UCM Service parameters to only look at the last 7 digits of the RD and hence there is a match.

When you press “1” to make a call and then dial 2001 you should see the following:

Loading file with url (https://192.100.65.11:8080/ccmivr/IVRPlaceCall.do?ccmusername=sitebone&remotedest=5252222&dialno=2001&srcdir=en_US)

This means the RDP has been matched to owner “sitebone” and the dialed digits are sent to the UCM (2001).

Remove all debug commands at this stage.

Run the following command on R2:

R2#u all
All possible debugging has been turned off
R2#deb voip dialp
voip dialpeer default debugging is on

Make the call into the MVA gateway from the PSTN phone again. You should see the inbound dial-peer being matched and the MVA application invoked.

Result=Success(0) after DP_MATCH_INCOMING_DNIS; Incoming Dial-peer=3

When you dial the extension number you wish to reach (2001) followed by the “#” then you will see an H225 SETUP message being sent to the UCM and the following outbound dial-peer match:

Calling Number=, Called Number=3000, Peer Info Type=DIALPEER_INFO_SPEECH
.Feb 13 23:29:14.349: //-1/xxxxxxxxxxxx/DPM/dpMatchPeersCore:
Match Rule=DP_MATCH_DEST; Called Number=3000

The gateway doesn’t call 2001 (this is done using vXML). The gateway is going to call “3000” as this is the MVA number defined under Media Resources within UCM.

20 thoughts on “Unified Mobility and Mobile Voice Access”

  1. Hello Vik, Thank you for posting this blog, it is very helpful. I just have one question. When I call 3033001 from SB PSTN -5252222 it goes directly to voicemail. Is this expected behavior since 3001 and the remote destination are sharing the line?

  2. Hey Vik,

    Thank you very much for this excellent explanation on MVA. Particularly the part explaining in detail what is happening. Far too often we only care about the configuration that leads to the end result, without caring what is actually happening to make it work.

    One question,

    Once MVA is configured it seems that the SB PSTN line that is associated with the remote destination is no longer able to call Extension 3001. It gives a busy signal or send to VM depending on the configuration. Is this a misconfiguration on my part or expected behavior?

    Just concerned that we are breaking the PSTN functionality by enabling MVA.

    Thanks

    1. If this is a concern then you can either increase the busy trigger on the DN (3001) to > 1

      or

      You can make the Remote Destination # different from the incoming Calling Number being received from the PSTN. So Calling # = 5252222 and RD in UCM is different. You would need a voice translation-profile in the MVA dial-peer to translate the Calling Number to this RD # (specific to MVA calls).

      Personally I Would like to increase the busy trigger but you may be breaking voicemail requirements if Call Fwd busy needs to be invoked.

      It all comes down to reading interpretation and decision making based on that. But being armed with all options/solutions is a good start!

    1. @peter don’t let common sense get in the way of a weird solution:-)

      but yes- agree with you unless you only have one pstn number and one deskphone to make test calls in which case you are left with no choice but to call your own number.

  3. Hi Vik i did configuration for MVA, it works perfectly well but am getting DTMF issues, when i enter my password, the digits are not recognised

    1. i think your PSTN phone has a problem- make sure voice register pool has dtmf rtp-nte.

      also your R2 should have h245-alpha

  4. Hi Vik. Great tutorial and clear explanation of the underliing mechanisms.

    I have a question though, I see that you didn’t set up the “Mobile Voice Access Number” under service parameters -> Callmanager –> Mobility settings.
    What is the use of this service parameters ?

  5. Dear Gents
    I am working for (GSM/3G/LTE)Mobile Network since 10 years; now aiming to attempt CCIE(Collab); should I go for it or some other relevant CCIE would be better; becoz when I read material it seems more relevant to my background while friends says go for Data Center and it would be the future…

  6. Hey Vik! How are you?

    So, will it matter which protocol do we use when calling the MVA number from the router? Let’s say my router runs SIP and H323 back to it’s site CUCM (CUBE and PSTN access respectively). Could I just send the call re-using my SIP dial-peers? I know I can, I just don’t know if this will be penalized or something. If not told which protocol to use, is that open for me to decide?

    I think you forgot the direct inward dial in your pots dial-peer 🙂

    Best Regards,

  7. Thank you great post.

    I have MVA working and i can dial out PSTN number after selecting IVR options however i do not see any calling party info being passed to the PSTN .what could be reason for this?

    Aug 13 17:20:57.698: ISDN Se0/1/0:23 Q931: Sending SETUP callref = 0x0090 callID = 0x8011 switch = primary-ni interface = User
    Aug 13 17:20:57.698: ISDN Se0/1/0:23 Q931: TX -> SETUP pd = 8 callref = 0x0090
    Bearer Capability i = 0x8090A2
    Standard = CCITT
    Transfer Capability = Speech
    Transfer Mode = Circuit
    Transfer Rate = 64 kbit/s
    Channel ID i = 0xA18397
    Preferred, Channel 23
    Facility i = 0x9F8B0100A112020112020100800A53422050686F6E652031
    R2#
    Protocol Profile = Networking Extensions
    0xA112020112020100800A53422050686F6E652031
    Component = Invoke component
    Invoke Id = 18
    Operation = CallingName
    Name Presentation Allowed Extended
    Name = SB Phone 1
    Display i = ‘SB Phone 1’
    Called Party Number i = 0x91, ‘442050075000’ >>>>>>on IVR after pressing option 1 dialed this number
    Plan:ISDN, Type:International
    Redirecting Number i = 0x00008F, ‘9011442050075000’ >>>>>>>
    Plan:Unknown, Type:Unknown
    Aug 13 17:20:57.746: ISDN Se0/1/0:23 Q931: RX <- CALL_PROC pd = 8 callref = 0x8090
    Channel ID i = 0xA98397
    Exclusive, Channel 23
    Aug 13 17:20:57.938: ISDN Se0/1/0:23 Q931: RX <- ALERTING pd = 8 callref = 0x8090
    R2#
    Aug 13 17:21:01.158: ISDN Se0/1/0:23 Q931: RX CONNECT_ACK pd = 8 callref = 0x0090
    R2#
    Aug 13 17:21:03.022: ISDN Se0/1/0:23 Q931: RX RELEASE pd = 8 callref = 0x0090
    Aug 13 17:21:03.034: ISDN Se0/1/0:23 Q931: RX <- RELEASE_COMP pd = 8 callref = 0x8090

  8. Hi Vik,, thanks for great post

    i have try that configuration and all work fine, but if i test call use MVA for my PSTN Phone the calling number from PSTN is “Unknown Number”. i follow your workbook 6 but same result, my question is how we configure Calling number from PSTN

    this is my Debug ISDN Q931

    Oct 19 02:10:09.836: ISDN Se0/0/0:23 Q931: RX CALL_PROC pd = 8 callref = 0x8087
    Channel ID i = 0xA98381
    Exclusive, Channel 1
    Oct 19 02:10:09.852: ISDN Se0/0/0:23 Q931: TX -> CONNECT pd = 8 callref = 0x8087
    Oct 19 02:10:09.860: ISDN Se0/0/0:23 Q931: RX <- CONNECT_ACK pd = 8 callref = 0x0087
    Oct 19 02:10:09.860: %ISDN-6-CONNECT: Interface Serial0/0/0:0 is now connected to 5252222 N/A

    1. I had this problem too in lab.
      Do you know the resolution?
      Mine call 2001 from MVA but it shows unknown number instead of Site B Phone 1.

  9. i need to ask , why is service mva required , why it was not implemented that cucm when it recieves a call on this DID checks if incoming called number matches a remote destination number and play the announciator , why does a router have to incoke the process , i dont understand the idea from the router service mva thing

    does anyone know why its implemented this way ?

  10. Hi
    it’s very helpful.. I completed the above configuration step and it is successful call connecting to MVA but i have some issues like it’s not working with some PSTN network and with some network its connecting when I am entering my destination number, pin and number to whom I want to call after dialing number immediately is disconnecting the call…

    could anybody help me in this,,,,

  11. Hi Vik,

    The post is really helpful. Covers the precise information needed to implement MVA and mobility. I tried the above config and it works great. Also I want to test another scenario . BTW I was just thinking what happens with the full E164 number. For example if I have E164 MVA number and E164 DN. And if I need to call lets say 2001(short dial).

    Thanks,

Leave a Reply

Your email address will not be published. Required fields are marked *