My 5222 is registering properly w/ my PCSCF. My INVITES are failing though.
I need my sip URI to look like this:
sip:8272727009@sweng.com ;user=dialstring
Instead they look like this:
sip:+18272727009@sweng.com ;user=dialstring
My dialstring is "2727009'. Should match the first entry in the SipNumbers MAP.
I can't for the life of me figure out what's causing the "+1" to be prepended to my dialstring.
I've attached a copy of my digit map below for reference.
Thanks in advance for any assistance,
Russ
---------------------------------------------------------------------------------------------------
// Timer values
TIMER S=4 // Short interdigit timer. Used when critical timing should be
// performed, such as when the dialed digits constitute a complete
// address, but additional digits may constitute a different
// complete address
TIMER Z=2.0 // Long duration timer. The duration a particular digit is to be
// held in order to be detected.
// Symbols
domain = "@sweng.com"
areaCode = "827"
dialstring = ";user=dialstring" // Just to shorten things
homeEmergencyNumber = "911"
localEmergencyNumber = "911" // alternate emergency number
//phonecontext = ";phone-context=+1"
// Maps
MAP MainTable = // This is where processing starts
"(=Operator)" : MAKE-CALL("sip:" #1v =domain =dialstring)
"(=Emergency)" : EMERGENCY-CALL ( "sip:911" =domain)
"(=Information)" : MAKE-CALL("tel:" #1v =phonecontext)
"(=PhoneNumbers)" : MAKE-CALL("sip:" #1v =domain =dialstring)
"(=SipNumbers)" : MAKE-CALL("sip:" #1v =domain =dialstring)
"(=DialAround)" : MAKE-CALL( "tel:" #1v )
"0(=NationalNumbers)" : MAKE-CALL( "sip:0" #1v =domain =dialstring )
"(=SpeedDial)" : MAKE-CALL("sip:" #1v =domain =dialstring)
"(=ImmediateVSCs)" : RETURN
"(=DelayedVSCs)" : RETURN
"Z#" : RECALL; USEMAP( =MainTable )
// Press # for 2 seconds and get recall dial tone
"x{1-29}*" : REORDER
"x{1-29}#" : REORDER
"x{30}" : REORDER
MAP Operator =
"(0)(=End)" : RETURN(#1)
"00" : RETURN(#0)
MAP Emergency = // Matches emergency dialstrings
"(=localEmergencyNumber)" : RETURN
"(=homeEmergencyNumber)" : RETURN
"[01](=homeEmergencyNumber)" : RETURN
MAP Information =
"411" : RETURN(#0)
MAP PhoneNumbers = // Matches phone # and returns the canonicalized
// form without a scheme
"(=SurchargedNumbers)" : RETURN( #1v ) // override later matches
"1{0-1}(=NationalNumbers)" : RETURN( "+1" #1v )
"1{0-1}(=areaCode){0-1}(661x{4})" : RETURN("1" =areaCode #2)
"011([2-9]x{1-14})(=End)" : RETURN( "+" #1 )
"01([2-9]x{1-14})(=End)" : RETURN( "01" #1 )
MAP CollectNumbers = // 800 and friends
"1{0-1}(800[2-9]x{6})" : RETURN( "+1" #1 )
"1{0-1}(866[2-9]x{6})" : RETURN( "+1" #1 )
"1{0-1}(888[2-9]x{6})" : RETURN( "+1" #1 )
MAP SurchargedNumbers = // 900, etc.
"1{0-1}(900[2-9]x{6})" : RETURN( "+1" #1 )
MAP SipNumbers =
"([2-9]x(6))" : RETURN( =areaCode #1) // TDN - added for 7 digit sip dialing
"[2-8]11" : RETURN(#0)
"[2-7]x{9}" : RETURN(#0)
"([2-7]x{3-9})(=End)" : RETURN(#1)
MAP DialAround = // Matches dial around phone# and returns canonicalized
// form without scheme
"101(x{4})(=SipNumbers)" : RETURN( #2v ";cic=+" #1 ) // (CIC dialed by user)
"101(x{4})0" : RETURN( "0" ";cic=+1" #1 )
MAP SpeedDial =
"([2-9])(=End)" : RETURN(#1) // one-digit speed dialing
"([2-4]x)(=End)" : RETURN(#1) // two-digit speed dialing
MAP ImmediateVSCs = // Matches and executes immediate VSCs. Returns nothing
"(=Star)57" // (COT-ACTIVATE)
: COT-ACTIVATE(#0) // Can't use MAKE-CALL for this.
"(=Star)63" // (SCF)
: FEATURE-CHECK( "23", "file:///PacketCableRST/ro" );
MAKE-CALL( "sip:" #0 =domain =dialstring )
"(=Star)66" // (AC-ACTIVATE)
: AC-ACTIVATE( #0 ) // Auto Callback
"(=Star)86" // (AC-DEACTIVATE)
: AC-DEACTIVATE( "sip:" #0 =domain =dialstring )
// Auto Callback
"(=Star)69" // (AR-ACTIVATE)
: AR-ACTIVATE( #0 ) // Auto Recall
"(=Star)89" // (AR-DEACTIVATE)
: AR-DEACTIVATE( "sip:" #0 =domain =dialstring ) // Auto Recall
"(=Star)77" // ACR-ACTIVATE
: ACR-ACTIVATE( "sip:" #0 =domain =dialstring )
"(=Star)87" // ACR-DEACTIVATE
: ACR-DEACTIVATE( "sip:" #0 =domain =dialstring )
"(=Star)83" // (SCF)
: FEATURE-CHECK( "23" );
MAKE-CALL( "sip:" #0 =domain =dialstring )
"(=Star)7[89]" // (DND-ACTIVATE/DND-DEACTIVATE)
: FEATURE-CHECK( "16" );
MAKE-CALL( "sip:" #0 =domain =dialstring )
"(=Star)95" // (SPP)
: FEATURE-CHECK( "17" );
MAKE-CALL( "sip:" #0 =domain =dialstring )
"(=Star)96" // (SB-MAINT)
: FEATURE-CHECK( "25" );
MAKE-CALL( "sip:" #0 =domain =dialstring )
// solicitor blocking maintenance
"(=Star)72" // (CFV PROGRAM)
// Check if CFV(11) enabled
// if not enabled - play network announcement
// if enabled & activated play announcement
// if enabled & not activated
// Play Recall Dial Tone
// Collect digits using subset digitmap
// Prepend "*72." onto dialed address using SIP URI
// The following is an example implementation:
: FEATURE-CHECK( "11", "file:///PacketCableRST/ro" );
DEACTIVATED-CHECK( "11", "sip:errannc" =domain );
RECALL; USEMAP( =ForwardingNumber )
"(=Star)73" // (CFV DEACTIVATE)
// Check if CFV(11) enabled
// if not enabled - play network announcement
// if enabled & not activated play announcement
// Play Recall Dial Tone
// MAKE-CALL with *73 as dialed address using SIP URI
// The following is an example implementation:
: FEATURE-CHECK( "11","file:///PacketCableRST/ro" );
ACTIVATED-CHECK( "11", "file:///PacketCableRST/ro" );
MAKE-CALL( "sip:*73" =domain =dialstring )
MAP DelayedVSCs = // Make some state change, then continue processing dialing
"(=Star)52" // (HOLD)
: HOLD-ACTIVATE; RECALL; USEMAP( =MainTable )
"(=Star)68" // CID-SUPPRESS
: CID-SUPPRESS; USEMAP( =MainTable )
"(=Star)67" // CNDB-TOGGLE
: CNDB-TOGGLE; USEMAP( =MainTable )
"(=Star)82" // CID-DELIVER
: CID-DELIVER; USEMAP( =MainTable )
"(=Star)70" // (CCS) (Really Toggle-Call-Waiting)
: CW-TOGGLE; USEMAP( =MainTable )
// The CALL-WAITING action must give the right tone.
"(=Star)74" // (SD8)
: FEATURE-CHECK("27"); RECALL; USEMAP( =SD8 )
"(=Star)75" // (SD30)
: FEATURE-CHECK("27"); RECALL; USEMAP( =SD30 )
MAP SD8 = // Program one-digit speed dial number
"[2-9]" : MAKE-CALL( "sip:*74." #0 =domain =dialstring )
"[^2-9]" : REORDER
MAP SD30 = // Program two-digit speed dial number
"[2-4]x" : MAKE-CALL( "sip:*75." #0 =domain =dialstring )
"[^2-4]" : REORDER
"[2-4](=End)" : REORDER
MAP ForwardingNumber = // Just for programming CFV
"(=SurchargedNumbers)" : REORDER // not allowed
"(=PhoneNumbers)" : MAKE-CALL ( "sip:*72." #1v =domain =dialstring )
MAP Star = // Matches star & 11
"(*)" : RETURN
"(11)" : RETURN
MAP End = // Matches End of Dial Indicators # or S
"#" : RETURN
"S" : RETURN
MAP NationalNumbers =
"([2-9]x{6})(=End)" : RETURN( =areaCode #1 )
"([2-9]x{2}[2-9]x{6})" : RETURN( #1 )
2727009
"([2-9]x(6))" : RETURN( =areaCode #1) and areaCode = "827" => 8272727009
MAP NationalNumbers = "([2-9]x{2}[2-9]x{6})" : RETURN( #1 )
"1{0-1}(=NationalNumbers)" : RETURN( "+1" #1v ) => +18272727009
Pay attention to '1{0-1}' which indicates there is zero or one '1'.