<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>CVP Telephony Port Number or Equivalent.</title>
  <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_thread?p_l_id=&amp;threadId=8392560" />
  <subtitle>CVP Telephony Port Number or Equivalent.</subtitle>
  <id>http://developer.cisco.com/c/message_boards/find_thread?p_l_id=&amp;threadId=8392560</id>
  <updated>2013-05-25T08:33:36Z</updated>
  <dc:date>2013-05-25T08:33:36Z</dc:date>
  <entry>
    <title>RE: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - Gene</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8496473" />
    <author>
      <name>Paul Tindall</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8496473</id>
    <updated>2012-11-12T09:53:20Z</updated>
    <published>2012-11-12T09:53:20Z</published>
    <summary type="html">Well, the message almost got through with format corruption.  For those without the emoticon to text reversal plugin, the field you're going to access for the B-channel is of the format "&lt;B-channel number&gt; : DS0" without the spaces.</summary>
    <dc:creator>Paul Tindall</dc:creator>
    <dc:date>2012-11-12T09:53:20Z</dc:date>
  </entry>
  <entry>
    <title>RE: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - Gene</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8488487" />
    <author>
      <name>Paul Tindall</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8488487</id>
    <updated>2012-11-12T01:06:51Z</updated>
    <published>2012-11-12T01:06:51Z</published>
    <summary type="html">In VoiceXML you can access a SIP header using the session variable session.com.cisco.proto_headers[''], for example, session.com.cisco.proto_headers['Remote-Party-ID'].  Sample VoiceXML output from a custom element is attached; you can see a selection of headers being retrieved.

To get the B-channel ID itself you have to retrieve the Via header and parse the DS0 number from the x-ds0num header field.   I've attached a custom element that will retrieve the headers configured in the element settings and create data for each of the fields.  In the B-channel example, using this custom element, the relevant information would be written to ElementName.Via.x-ds0num.  The actual value you're interested in still needs to be parsed-out but this gets you pretty close.   For a BRI the DS0 field looks like this: x-ds0num="Basic Rate Interface 0/1/0 1:DS0" so you just need to extract the value from the x:DS0 part.  It's very similar for a PRI.

In comprehensive model, the Via header on the VRU leg won't include the x-ds0num field as CVP doesn't propagate it but there's a couple of things you can do very easily provided you configure the CVP Call Server to pass the Via x-ds0num field up to ICM.   In the ICM script you can either parse out the B-channel number from the x:DS0 field into a call variable or just write it to a custom SIP header before invoking the SendToVRU if you don't want to use up variable space.</summary>
    <dc:creator>Paul Tindall</dc:creator>
    <dc:date>2012-11-12T01:06:51Z</dc:date>
  </entry>
  <entry>
    <title>Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - General</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8414836" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8414836</id>
    <updated>2012-11-08T08:06:48Z</updated>
    <published>2012-11-08T08:06:48Z</published>
    <summary type="html">---------------------------------------------
Paul,
I'd love to know how to know how to get the B-channel ID.
Please post the vxml.
Also - if this is done in a Comprehensive environment, then how does ICM 
retrieve the data and pass it on to the Studio application?


-- 
Janine Graves</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2012-11-08T08:06:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: Re: New Message from Keith Adams in Customer Voice Portal (CVP) - Gener</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8414600" />
    <author>
      <name>Sethuramalingam Balasubramanian</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8414600</id>
    <updated>2012-11-08T07:48:13Z</updated>
    <published>2012-11-08T07:48:13Z</published>
    <summary type="html">Sure, I would be interested to know how to get this ds0-num using Custom VXML in Call Studio.</summary>
    <dc:creator>Sethuramalingam Balasubramanian</dc:creator>
    <dc:date>2012-11-08T07:48:13Z</dc:date>
  </entry>
  <entry>
    <title>RE: Re: New Message from Keith Adams in Customer Voice Portal (CVP) - Gener</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8407393" />
    <author>
      <name>Paul Tindall</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8407393</id>
    <updated>2012-11-08T01:39:36Z</updated>
    <published>2012-11-08T01:39:36Z</published>
    <summary type="html">If you do want to access the B-channel ID there is a way to do it but you would have to insert a SIP call leg if this is standalone model.   Enable ds0-num under voice service voip sip on the gateway.  That will cause ISDN B-channel info to be included in the SIP Via header in the x-ds0num field which you can access from your Studio script using a bit of custom VoiceXML.  Not sure if I posted that already but let me know if you need it.</summary>
    <dc:creator>Paul Tindall</dc:creator>
    <dc:date>2012-11-08T01:39:36Z</dc:date>
  </entry>
  <entry>
    <title>RE: Re: New Message from Keith Adams in Customer Voice Portal (CVP) - Gener</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8403655" />
    <author>
      <name>Keith Adams</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8403655</id>
    <updated>2012-11-07T22:11:34Z</updated>
    <published>2012-11-07T22:11:34Z</published>
    <summary type="html">I did consider taking a
mod 60 on the router call key but the uniqueness within the back end system was
still an issue.  I like the suggestions
of a database with record locking or thread synchronisation. 
Thank you for
these.
I'm leaning towards the database at the moment as it potentially helps with another ID that needs to be replicated.

Keith</summary>
    <dc:creator>Keith Adams</dc:creator>
    <dc:date>2012-11-07T22:11:34Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Asher Schweigart in Customer Voice Portal (CVP) - Gene</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8403270" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8403270</id>
    <updated>2012-11-07T21:36:48Z</updated>
    <published>2012-11-07T21:36:48Z</published>
    <summary type="html">However if you want a pattern from 1-60 only, you cannot reset that. Router call key can get quite large depending on no of calls you get.

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Wednesday, November 07, 2012 2:02 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Asher Schweigart in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: New Message from Janine Graves in Customer Voice Portal (CVP) - General

Asher Schweigart has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Why not use the RouterCallKey from ICM? That shouldn’t be very large, as it is reset every day to 1 and increments with each call.
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/8402307 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2012-11-07T21:36:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Janine Graves in Customer Voice Portal (CVP) - General</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8402307" />
    <author>
      <name>Asher Schweigart</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8402307</id>
    <updated>2012-11-07T20:01:48Z</updated>
    <published>2012-11-07T20:01:48Z</published>
    <summary type="html">Why not use the RouterCallKey from ICM? That shouldn’t be very large, as it is reset every day to 1 and increments with each call.</summary>
    <dc:creator>Asher Schweigart</dc:creator>
    <dc:date>2012-11-07T20:01:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Keith Adams in Customer Voice Portal (CVP) - General D</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8402205" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8402205</id>
    <updated>2012-11-07T19:54:48Z</updated>
    <published>2012-11-07T19:54:48Z</published>
    <summary type="html">You can easily implement the record locking at database level. Alternatively you can use threading and use synchronized feature to prevent concurrent access.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Wednesday, November 07, 2012 1:34 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Keith Adams in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: CVP Telephony Port Number or Equivalent.

Keith Adams has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Hi,  thank you for your responses.
I was thinking of something similar to your idea Hemal but I think with the round robin of numbers there is the potential that the numbers could be repeated.  This is a self service IVR and callers are allowed to use the system for up to 20 minutes so 59 more calls could cause the number to be re-used.  In the old IVR the port number couldn’t be used twice. I think I’m going to need something like Janine’s idea with a database as long as I can implement a record locking mechanism so the same number is never used more than once at a time.
With the persistant global data in java is there a chance two calls could read the variable at the same time?
Thanks
Keith
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/8397438 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2012-11-07T19:54:48Z</dc:date>
  </entry>
  <entry>
    <title>Re: New Message from Keith Adams in Customer Voice Portal (CVP) - General D</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8402162" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8402162</id>
    <updated>2012-11-07T19:49:48Z</updated>
    <published>2012-11-07T19:49:48Z</published>
    <summary type="html">Keith,
Yes, multiple applications can read the values of global data at the 
same time using custom java.
How large can this number be? Can't you use  the ANI? You wouldn't have 
more than one call from a phone number at a given time, would you?</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2012-11-07T19:49:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: CVP Telephony Port Number or Equivalent.</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8397438" />
    <author>
      <name>Keith Adams</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8397438</id>
    <updated>2012-11-07T19:33:32Z</updated>
    <published>2012-11-07T19:33:32Z</published>
    <summary type="html">Hi,  thank you for your responses. 
I was thinking of something similar to your idea Hemal but I think with the round robin of numbers there is the potential that the numbers could be repeated.  This is a self service IVR and callers are allowed to use the system for up to 20 minutes so 59 more calls could cause the number to be re-used.  In the old IVR the port number couldn’t be used twice. I think I’m going to need something like Janine’s idea with a database as long as I can implement a record locking mechanism so the same number is never used more than once at a time.
With the persistant global data in java is there a chance two calls could read the variable at the same time?
Thanks
Keith</summary>
    <dc:creator>Keith Adams</dc:creator>
    <dc:date>2012-11-07T19:33:32Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Janine Graves in Customer Voice Portal (CVP) - General</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8395399" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8395399</id>
    <updated>2012-11-07T16:26:48Z</updated>
    <published>2012-11-07T16:26:48Z</published>
    <summary type="html">My assumption was not that.  Anyways, if that is the requirement than that too can be done.  All you need to do is to look for which no got freed up from the database and have a method that checks for all such  conditions and assigned the next one.  The requirement needs to be defined further.
It’s java and any logic can be coded.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Wednesday, November 07, 2012 10:22 AM
To: cdicuser@developer.cisco.com
Subject: New Message from Janine Graves in Customer Voice Portal (CVP) - General Discussion - All Versions: Re: New Message from Hemal Mehta in Customer Voice Portal (CVP) - General D

Janine Graves has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Hemal,

It's not quite that simple. Because if you have 20 callers, but then
caller number 3 hangs up. Now you have 19 callers, but you need to
assign the next caller with the number '3', not '20'.
So you need a pool of numbers 1-60. And each time a new call comes in,
you take a number out of this pool. And when the call is done (in the
end of call java), you have to put the number back into the pool.

You could use a DB for this or create persistent global data (using
java). But the details would be up to you.

Janine
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/8395361 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2012-11-07T16:26:48Z</dc:date>
  </entry>
  <entry>
    <title>Re: New Message from Hemal Mehta in Customer Voice Portal (CVP) - General D</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8395361" />
    <author>
      <name>Janine Graves</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8395361</id>
    <updated>2012-11-07T16:21:48Z</updated>
    <published>2012-11-07T16:21:48Z</published>
    <summary type="html">Hemal,

It's not quite that simple. Because if you have 20 callers, but then 
caller number 3 hangs up. Now you have 19 callers, but you need to 
assign the next caller with the number '3', not '20'.
So you need a pool of numbers 1-60. And each time a new call comes in, 
you take a number out of this pool. And when the call is done (in the 
end of call java), you have to put the number back into the pool.

You could use a DB for this or create persistent global data (using 
java). But the details would be up to you.

Janine</summary>
    <dc:creator>Janine Graves</dc:creator>
    <dc:date>2012-11-07T16:21:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Keith Adams in Customer Voice Portal (CVP) - General D</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8394700" />
    <author>
      <name>Hemal Mehta</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8394700</id>
    <updated>2012-11-07T15:26:48Z</updated>
    <published>2012-11-07T15:26:48Z</published>
    <summary type="html">If you do not want to use session ID, you can write your method to create something equivalent.  You can have port counter in database which the system reads and increments each time a call comes in. (from 1 to 60).   Depending on no of calls you get, you can reset that counter back to 0 or 1 when it reaches 60. This will ensure that each call will have a unique ID with respect to the backend.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Wednesday, November 07, 2012 9:13 AM
To: cdicuser@developer.cisco.com
Subject: New Message from Keith Adams in Customer Voice Portal (CVP) - General Discussion - All Versions: CVP Telephony Port Number or Equivalent.

Keith Adams has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Hi all, I’m in the process of moving an application from a TDM IVR to CVP.  The application uses the IVR port number of the call as an ID to interface with a back end system.  As the IVR uses the port ID this ensures that only one call with that ID can exist in the back end system at any one time.  The port number can be used again once it has been released.  As part of the migration I need to replicate this number which was between 1 and 60. Does anyone know if CVP has a method similar to a port ID or the license number etc? The session ID is unfortunately too long. Thanks Keith
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/8392559 or simply reply to this email.</summary>
    <dc:creator>Hemal Mehta</dc:creator>
    <dc:date>2012-11-07T15:26:48Z</dc:date>
  </entry>
  <entry>
    <title>CVP Telephony Port Number or Equivalent.</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8392559" />
    <author>
      <name>Keith Adams</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8392559</id>
    <updated>2012-11-07T15:13:17Z</updated>
    <published>2012-11-07T15:12:44Z</published>
    <summary type="html">Hi all, I’m in the process of moving an application from a TDM IVR to CVP.  The application uses the IVR port number of the call as an ID to interface with a back end system.  As the IVR uses the port ID this ensures that only one call with that ID can exist in the back end system at any one time.  The port number can be used again once it has been released.  As part of the migration I need to replicate this number which was between 1 and 60. Does anyone know if CVP has a method similar to a port ID or the license number etc? The session ID is unfortunately too long. Thanks Keith</summary>
    <dc:creator>Keith Adams</dc:creator>
    <dc:date>2012-11-07T15:12:44Z</dc:date>
  </entry>
</feed>

