Cisco Voice Portal

Allow Anonymous Read & Write Access
Configure FTP to only allow login from VXML Servers
Configure the Upload Folder Security to have Full access for the User “IUSR”

  • Open IIS
  • Select Server Home (root level)
  • Select FTP IP Address and Domain Restrictions
  • Edit Feature - Deny for unspecificed users
  • Add the following:
    • 127.0.0.1
    • A side VXML Server IP
    • B side VXML Server IP

Reference: https://social.technet.microsoft.com/Forums/windowsserver/en-US/7c896c7c-9b3f-4830-9617-6de3ab78bb83/ftp-anonymous-login-iis-75?forum=winserverfiles

netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21
netsh advfirewall set global StatefulFtp enable

http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/sip_tn/9_1_1/sip_t_n/preface.html

M = {}
function M.inbound_ANY(msg)
  -- Remove the display name from the Remote Party ID Header Inbound
  local rpid = msg:getHeader("Remote-Party-ID")
  local uri = string.match(rpid, "(<.+>.+)")
  msg:modifyHeader("Remote-Party-ID",uri)
end
function M.inbound_ANY_ANY(msg)
  -- Remove the display name from the Remote Party ID Header Outbound
  local  rpid = msg:getHeader("Remote-Party-ID")
  local uri = string.match(rpid, "(<.+>.+)")
  msg:modifyHeader("Remote-Party-ID",uri)
end
return M

You need to add the following to the VXML Server Tomcat Parameters via the registry and restart:

-Dhttps.client.protocol=TLSv1.2

Registry Options Location:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java\Options]

Use Local vars (Set value) and use the below JavaScript

Retrieving the Length of a Session Variable in Call Studio

var str = {Data.Session.pin};
eval(str.length);

Converting a double to a Integer

var str = {Data.Session.MyDoubleValue}
eval(parseInt(str, 10));
var str = {Data.Session.MyDoubleValue}
eval(str | 0); 
var str = {Data.Session.MyDoubleValue};
myint = ~~str;
eval (myint);
var a = 5;
var b = 3;
var c = a+b;
eval (c);

removing first character from a string

var str = {Data.Session.var1};
eval(str.substring(1));

If you don't have access to CVP Ops console or CCE12 PCCE Admin Inventory does not have B side and you need to update CVP B side routing. This should not be used in Production. After making a change the srv.xml and sip.properties file - you will need to restart CVP Call Server

SRV Records

File: C:\Cisco\CVP\conf\srv.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<locater>
    <host name="cucmlabcluster.mydomain.com">
        <record destination="10.0.0.101" port="5060" securePort=" " priority="10" weight="10"/>
    </host>
    <host name="voicebrowser.mydomain.com">
        <record destination="CUCMA.mydomain.com" port="5060" securePort=" " priority="10" weight="10"/>
        <record destination="CUCMB.mydomain.com" port="5060" securePort=" " priority="10" weight="10"/>
    </host>
</locater>
</xml>

Route Setting

File: C:\Cisco\CVP\conf\sip.properties This includes the number to SIP SRV Group mapping and a RONA settings - see below for an example

# System configuration static routes for local routing without an outbound proxy.
SIP.System.Proxy.Route = 777!,voicebrowser.mydomain.com;91!,voicebrowser.mydomain.com;92!,voicebrowser.mydomain.com;XXXXX,cucmlabcluster.mydomain.com;0!,cucmlabcluster.mydomain.com;


# System configuration DN patterns to match for setting call specific Expires header (RONA) on outbound invites from sip b2bua.
SIP.System.OutboundInviteTimeout = XXXXX,15;0!,60;