07-12-2015 01:45 PM - edited 03-17-2019 03:37 AM
hello guys
Need some help here asap!!!!
i m running 8.6.2-29000 cucm manager cluster
all my mgcp gateway and sip trunks incoming calls configured with "Inbound Css" with filter
to block/allow/Add 9 prefix and more.
i facing the issue with 'anonymous' calls that the cucm manager droped and i m not sure what the action plan here
i must user the Filter css ,and also to make that "anonymous" or "restricted calls will pass the cucm manager.
please advise a.s.a.p
thanks
shoham
07-12-2015 04:02 PM
So you are filtering calls based on Calling number and your MGCP gateway is blocking incoming calls with no CLID?
Refer to Step 7 here: https://supportforums.cisco.com/document/71966/blocking-calls-based-calling-party-id
7) Some calls may arrive without caller id or a restricted caller ID. If you wish to allow calls without caller ID, there will also need to be a <none> or blank Translation Pattern. If the administrator does not define a <none> Translation Pattern, then all calls without caller id will be rejected.
If you have a different issue please explain in bit more detail.
-Terry
Please rate all helpful posts
10-13-2015 02:07 AM
Hi Shoham,
I have the exact same problem. Calls coming with "anonymous" (seen in CDRs) are dropped by the filter, although I have the "blank" pattern. Did you find a solution?
These "anonymous" calls started when I added new voice gateways ISR 4400 series as SIP Trunks. It seems the new IOS changed the way the SIP headers are sent to the CUCM.
Thank you for your help.
Yorick
08-11-2017 06:42 PM
With SIP I have had similar problems as well. Personally I wiped out the "From" Header and put in a fictitious number that I would then take actions on once it makes it to CUCM. Do this with a SIP profile on a CUBE dial peer. It sure beats writing a normalization script for CUCM to do the same thing.
For instance:
voice class sip-profiles 1 request INVITE sip-header From modify "<sip:Anonymous@" "<sip:0000000000@"
More details here: http://technologyordie.com/calling-party-routing-of-anonymous-calls-sip-header-fix-up
09-09-2016 06:31 AM
Hi,
I'm also having problems with anonymous callers when using a filter list on CUCM. If the CLID is known, calls pass thru, but if an anonymous callers calls, the call gets dropped. Did you find a workaround?
Greets,
David
05-03-2018 02:00 PM
Shohamshalom,
You need to apply a Normalization Script on the SIP Trunk which will modify the SIP Header and change ANONYMOUS / NONE / NULL to a "Replacement Number" which will be routable by CUCM. Please find the SIP Trunk Normalization Script details below.
Name: Allow-Anonymous-Calls
Description:ALLOW ANONYMOUS / NONE / NULL INBOUND CALLS - Change the SIP invite from sip:Anonymous to sip:0 so that calls match the inbound call filter list
Conetent:
M={}
--change to trace.enable() to have trace output in SDI
trace.disable()
function M.inbound_INVITE(msg) --capture inbound INVITE messages
--set the string to replace the anonymous, unavailable or restricted strings in the INVITE message
replacementNumber = "sip\:0"
trace.format("Replacement Number: %s", replacementNumber)
--Set the header values to inspect for anonymous caller
local fields = { "From" , "Remote-Party-ID" , "P-Preferred-Identity", "P-Asserted-Identity" }
local numberOfFields = #fields
trace.format("Fields/Count: %s, %s, %s, %s, %s", fields[1], fields[2], fields[3], fields[4], numberOfFields)
--loop though the header fields to inspect and replace any instance of 'anonymous' with the specified replacement number
local x = 1
while x <= numberOfFields do
--get the field from the header
local header = msg:getHeader(fields[x])
if header == nil
then
trace.format("Field %s not found", fields[x])
else
trace.format("Field %s: %s", fields[x], header)
--does the from contain anonymous
if string.find(string.lower(header), "sip\:anonymous")
then
trace.format("Found string anonymous in %s", fields[x])
trace.format("Header: %s %s", fields[x], string.lower(header))
--replace the word anonymous with the user defined replacement number
local newHeader = string.gsub(string.lower(header), "sip\:anonymous", replacementNumber)
trace.format("New %s Field: %s", fields[x], newHeader)
--modify the From field
msg:modifyHeader(fields[x], newHeader)
else if string.find(string.lower(header), "sip\:unavailable")
then
trace.format("Found string unavailable in %s", fields[x])
trace.format("Header: %s %s", fields[x], string.lower(header))
--replace the word unavailable with the user defined replacement numbe
local newHeader = string.gsub(string.lower(header), "sip\:unavailable", replacementNumber)
trace.format("New %s Field: %s", fields[x], newHeader)
--modify the From field
msg:modifyHeader(fields[x], newHeader)
else if string.find(string.lower(header), "sip\:restricted")
then
trace.format("Found string unavailable in %s", fields[x])
trace.format("Header: %s %s", fields[x], string.lower(header))
--replace the word unavailable with the user defined replacement number
local newHeader = string.gsub(string.lower(header), "sip\:restricted", replacementNumber)
trace.format("New %s Field: %s", fields[x], newHeader)
--modify the From field
msg:modifyHeader(fields[x], newHeader)
else
trace.format("Field %s number valid. No change made.", fields[x])
end
end
end
end
x = x+1
end
end
return M
: Message Rollback Only
Disable Script
Memory Threshold: 50
LUA Instruction Threshold: 1500
Once creating the SIP Normalization Script in CUCM under Device > Device Settings > SIP Normalization Script, apply the script to the SIP Trunk after hours. Ensure to Apply Config & Reset the SIP Trunk (NOTE: This will drop active calls). I have tested this in multiple deployments and verified it works.
Regards,
Dalton Woolsey
04-26-2019 03:05 AM
Hi,
if you have CUBE you can apply this command:
Voice service voip
sip
sip-profiles inbound
sip-profiles 10 inbound
exit
voice class sip-profiles 10
request ANY sip-header From modify "<sip:anonymous@" "<sip:+00000000000@"
exit
here you must start see that the SIP messages header is changed to +00000000000 not anonymous, you have the option to change (+00000000000) to anything that meet your requirement
Regards,
Ahmad Kefaya
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide