Polycom Zoom Preliminary with prefix for SIP and H323 dial rules

Highlighted
Occasional Contributor

Polycom Zoom Preliminary with prefix for SIP and H323 dial rules

I’ve found Polycom DMA dial rules can be complex and but crafted to provide a simpler support and user experience. Recently I needed to create a *97 prefix rule to route calls out to Zoom in a SIP/H323 mixed environment. This required two start with 2 rules b/ I guided to use an External SIP peer to route SIP out the RPAD, while using a H323 dial rule where “route to external address” is used. Therefore since I’m using two types of routing this will not allow me to combined SIP and H323 rules, but I’m looking to identify why SIP isn’t routing properly with a rule “route to external address”.

Below is the preliminary script for the SIP rule “resolve external SIP peer”.

//this sets a variable for domain used in the replace 
var domain = “zoomcrc.com”
//var domain = “162.255.36.156”

//match rule if *97 is dialed

if (DIAL_STRING.match(/^sip:(\*97)([0–9]*)@(.*)/))
{

// this takes *97meetingid and removes the *97 and changes the domain to Zoom’s domain. ex: sip:*9712345@dmadomain.com -> sip:12345@zoomcrc.com
 
DIAL_STRING = DIAL_STRING.replace(/^sip:((\*97)([0–9]*))@(.*)/i,”sip:$3@”+domain);
 return NEXT_PROCESSOR;
}

// this will route a call when *97 is dialed 
else if (DIAL_STRING.match(/^sip:(\*97)@(.*)/))
{
// this replaces sip:*97@dmadomain.com with join to land the call on the Zoom auto-attendant were the user will be prompted for the meeting id. sip:*97 -> sip:join@zoomcrc.com
 DIAL_STRING = DIAL_STRING.replace(/^sip:(\*97)@(.*)/i,”sip:join@”+domain);
 return NEXT_PROCESSOR;
}
return NEXT_RULE;

H323

var domain = “zoomcrc.com”

// checks to see if 
// remove *97 and add @zoomcrc.com to the dialed meeting ID
if(DIAL_STRING.match(/^\*97([0–9])/)){
 DIAL_STRING=DIAL_STRING.replace(/^\*97([0–9]*)/, “$1@” + domain);
 return NEXT_PROCESSOR;
}

// 
else if(DIAL_STRING.match(/^\*97([0–9]*)/)){
 DIAL_STRING=DIAL_STRING.replace(/^\*97([0–9]*)/, “join@”+domain);
 return NEXT_PROCESSOR;
}
return NEXT_RULE;

 

 

My medium post can be found here on this topic. 

 
Message 1 of 1