I have Google and the mailing list but so far no joy. Basically all I want to do is prevent users from setting their own caller ID and name. From the mailing list I saw something like this: <user id="4165551212" mailbox="4165551212"> <params> <param name="password" value="password"/> <param name="vm-password" value="1234"/> </params> <variables> <variable name="accountcode" value="4165551212"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="User Name"/> <variable name="effective_caller_id_number" value="4165551212"/> <variable name="outbound_caller_id_name" value="User Name"/> <variable name="outbound_caller_id_number" value="4165551212"/> </variables> </user> And in the default dialplan: <include> <extension name="mygateway"> <condition field="destination_number" expression="^1?(\d{10})\d*$"> <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/> <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/> <action application="bridge" data="sofia/gateway/mygateway/$1"/> </condition> </extension> </include> But this still sends the name and ID from the VoIP adapter. Am I missing something? Thanks for all help. -- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
I ran into a similar problem and setting origination_caller_id name and number fixed it for me. http://wiki.freeswitch.org/wiki/Variable_origination_caller_id_number On Wed, Oct 10, 2012 at 3:34 PM, D'Arcy J.M. Cain <darcy@vex.net> wrote:
I have Google and the mailing list but so far no joy. Basically all I want to do is prevent users from setting their own caller ID and name.
From the mailing list I saw something like this:
<user id="4165551212" mailbox="4165551212"> <params> <param name="password" value="password"/> <param name="vm-password" value="1234"/> </params> <variables> <variable name="accountcode" value="4165551212"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="User Name"/> <variable name="effective_caller_id_number" value="4165551212"/> <variable name="outbound_caller_id_name" value="User Name"/> <variable name="outbound_caller_id_number" value="4165551212"/> </variables> </user>
And in the default dialplan:
<include> <extension name="mygateway"> <condition field="destination_number" expression="^1?(\d{10})\d*$"> <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/> <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/> <action application="bridge" data="sofia/gateway/mygateway/$1"/> </condition> </extension> </include>
But this still sends the name and ID from the VoIP adapter. Am I missing something?
Thanks for all help.
-- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On Wed, 10 Oct 2012 15:40:52 -0400 Nick Vines <jnvines@gmail.com> wrote:
I ran into a similar problem and setting origination_caller_id name and number fixed it for me.
http://wiki.freeswitch.org/wiki/Variable_origination_caller_id_number
Is that just a badly named variable? I am not worried about origination, only termination. Can you show me a more complete example? Where does this go? In the dialplan? The wiki is not very clear. it says to put this inside the {} brackets: originate {origination_caller_id_name='Caller Name',origination_caller_id_number=5551231234}sofia/gateway/test/1231231234 &park() But there is stuff outside the brackets. Are there other brackets that this is supposed to nest in? I have no "originate" keyword in my configs. -- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
Can you restate your question? I think a lot of us got confused when you said that you're only worried about termination. Can you explain what you want without using FreeSWITCH-specific terminology? I think that will clear up the confusion. Thanks, MC On Wed, Oct 10, 2012 at 1:31 PM, D'Arcy J.M. Cain <darcy@vex.net> wrote:
On Wed, 10 Oct 2012 15:40:52 -0400 Nick Vines <jnvines@gmail.com> wrote:
I ran into a similar problem and setting origination_caller_id name and number fixed it for me.
http://wiki.freeswitch.org/wiki/Variable_origination_caller_id_number
Is that just a badly named variable? I am not worried about origination, only termination. Can you show me a more complete example? Where does this go? In the dialplan? The wiki is not very clear. it says to put this inside the {} brackets:
originate {origination_caller_id_name='Caller Name',origination_caller_id_number=5551231234}sofia/gateway/test/1231231234 &park()
But there is stuff outside the brackets. Are there other brackets that this is supposed to nest in? I have no "originate" keyword in my configs.
-- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
On Wed, 10 Oct 2012 13:35:06 -0700 Michael Collins <msc@freeswitch.org> wrote:
Can you restate your question? I think a lot of us got confused when you said that you're only worried about termination. Can you explain what you want without using FreeSWITCH-specific terminology? I think that will clear up the confusion.
I am not knowingly using FreeSWITCH terminology. I am using telco terminology. Termination is where I send calls from my clients out to the PSTN world. Origination is how the world calls me. It does seem backwards but that's how it is. http://en.wikipedia.org/wiki/Call_termination So, in my case I have clients who terminate with my switch and I pass that on to the PSTN network through my termination provider. My origination provider (happens to be the same company in this case) provides me with DIDs and originates calls to me that I pass on to my client. My question here concerns the former. It just occurred to me that I may have left out a relevant piece of information. I am in Canada and use a Canadian provider. Canada and the US use different methods for passing CNAME information. In the US there is a central database of numbers and carriers "dip" into it to get the information. In Canada each phone provider keeps their own database and passes the information through the network. So, here is my problem. My clients can send me any number and CNAME that they want and currently I pass it on. If someone misuses that they could cause the excrement to start rolling downhill and while I am not the final destination, handling shit is never fun. So, what I want to do is ignore the values that they send me and insert the actual phone number and the CNAME that is registered in my billing database for them. Does FreeSWITCH call that termination or origination? -- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
termination is termination and origination is origination... just because out interconnect tech is primarily sip vs tdm (pots pri ss7 etc) the terminology does not change. as far as freeswitch controlling what clid is passed thru, that is up to how you configure freswitch. yes it can pass thru what the customer sends or it can block that and send something you have configured for the customer... for the later see the effective caller id name and number variables on the fs wiki. Ken Sent from my iPad On Oct 10, 2012, at 9:43 PM, "D'Arcy J.M. Cain" <darcy@Vex.Net> wrote:
On Wed, 10 Oct 2012 13:35:06 -0700 Michael Collins <msc@freeswitch.org> wrote:
Can you restate your question? I think a lot of us got confused when you said that you're only worried about termination. Can you explain what you want without using FreeSWITCH-specific terminology? I think that will clear up the confusion.
I am not knowingly using FreeSWITCH terminology. I am using telco terminology. Termination is where I send calls from my clients out to the PSTN world. Origination is how the world calls me. It does seem backwards but that's how it is.
http://en.wikipedia.org/wiki/Call_termination
So, in my case I have clients who terminate with my switch and I pass that on to the PSTN network through my termination provider. My origination provider (happens to be the same company in this case) provides me with DIDs and originates calls to me that I pass on to my client. My question here concerns the former.
It just occurred to me that I may have left out a relevant piece of information. I am in Canada and use a Canadian provider. Canada and the US use different methods for passing CNAME information. In the US there is a central database of numbers and carriers "dip" into it to get the information. In Canada each phone provider keeps their own database and passes the information through the network.
So, here is my problem. My clients can send me any number and CNAME that they want and currently I pass it on. If someone misuses that they could cause the excrement to start rolling downhill and while I am not the final destination, handling shit is never fun.
So, what I want to do is ignore the values that they send me and insert the actual phone number and the CNAME that is registered in my billing database for them. Does FreeSWITCH call that termination or origination?
-- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
As Ken said... before the bridge you can set the effective_caller_id_number and effective_caller_id_name. Depending on your gateway, however, it will want the caller ID passed a different way. Many want it in the FROM in the invite. In the gateway: Authentication<http://wiki.freeswitch.org/wiki/Authentication> - you can set "caller-id-in-from" to be true. For any other CID type, you can change it in the channel: Channel_Variables#Caller_ID_Related<http://wiki.freeswitch.org/wiki/Channel_Variables#Caller_ID_Related>, specifically: Variable_sip_cid_type<http://wiki.freeswitch.org/wiki/Variable_sip_cid_type> -Avi On Thu, Oct 11, 2012 at 5:26 AM, Ken Rice <krice@freeswitch.org> wrote:
termination is termination and origination is origination... just because out interconnect tech is primarily sip vs tdm (pots pri ss7 etc) the terminology does not change.
as far as freeswitch controlling what clid is passed thru, that is up to how you configure freswitch. yes it can pass thru what the customer sends or it can block that and send something you have configured for the customer... for the later see the effective caller id name and number variables on the fs wiki.
Ken Sent from my iPad
On Oct 10, 2012, at 9:43 PM, "D'Arcy J.M. Cain" <darcy@Vex.Net> wrote:
On Wed, 10 Oct 2012 13:35:06 -0700 Michael Collins <msc@freeswitch.org> wrote:
Can you restate your question? I think a lot of us got confused when you said that you're only worried about termination. Can you explain what you want without using FreeSWITCH-specific terminology? I think that will clear up the confusion.
I am not knowingly using FreeSWITCH terminology. I am using telco terminology. Termination is where I send calls from my clients out to the PSTN world. Origination is how the world calls me. It does seem backwards but that's how it is.
http://en.wikipedia.org/wiki/Call_termination
So, in my case I have clients who terminate with my switch and I pass that on to the PSTN network through my termination provider. My origination provider (happens to be the same company in this case) provides me with DIDs and originates calls to me that I pass on to my client. My question here concerns the former.
It just occurred to me that I may have left out a relevant piece of information. I am in Canada and use a Canadian provider. Canada and the US use different methods for passing CNAME information. In the US there is a central database of numbers and carriers "dip" into it to get the information. In Canada each phone provider keeps their own database and passes the information through the network.
So, here is my problem. My clients can send me any number and CNAME that they want and currently I pass it on. If someone misuses that they could cause the excrement to start rolling downhill and while I am not the final destination, handling shit is never fun.
So, what I want to do is ignore the values that they send me and insert the actual phone number and the CNAME that is registered in my billing database for them. Does FreeSWITCH call that termination or origination?
-- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On Wed, 10 Oct 2012 22:26:17 -0500 Ken Rice <krice@freeswitch.org> wrote:
termination is termination and origination is origination... just because out interconnect tech is primarily sip vs tdm (pots pri ss7 etc) the terminology does not change.
Cool. I am so glad to hear that FS got that right. People seem to get confused. One provider talks about "inbound" and "outbound" to reduce their user's confusion but that's like saying "left" and "right" on a ship. It depends on which direction you are looking.
as far as freeswitch controlling what clid is passed thru, that is up to how you configure freswitch. yes it can pass thru what the customer sends or it can block that and send something you have configured for the customer... for the later see the effective caller id name and number variables on the fs wiki.
Yes, I did that and it still left me with some questions. I know that I may sound knowledgeable about some of these things but when it comes to the FreeSWITCH package itself I am a rank amateur so please bear with me while I describe my understanding in excruciating detail to make sure that I have it right. Here is an actual (sanitized) directory entry. <include> <user id="4164251212" mailbox="4164251212"> <params> <param name="password" value="password"/> <param name="vm-password" value="0000"/> </params> <variables> <variable name="accountcode" value="4164251212"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Vex Consulting"/> <variable name="effective_caller_id_number" value="4164251212"/> </variables> </user> </include> Here is my (again, sanitized) dialplan. <include> <extension name="mygateway"> <condition field="destination_number" expression="^1?(\d{10})\d*$"> <action application="set" data="effective_caller_id_number=${effective_caller_id_number}"/> <action application="set" data="effective_caller_id_name=${effective_caller_id_name}"/> <action application="bridge" data="sofia/gateway/mygateway/$1"/> </condition> </extension> </include> So, just before sending this message I decided to test one more time and realized that the reason this didn't seem to work was that the cell phone I was testing with had my office number in the contacts and was displaying that name rather than the CNAME. I changed the number (416-555-1212) and it sent that number and displayed the proper CNAME. I decided to send this message anyway to help future mailing list searchers with a working example as well as pointing out a possible testing gotcha. -- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
<action application="set" data="effective_caller_id_number=${effective_caller_id_number}"/> ... doesn't do anything. You're just setting a variable to the same variable. The use for this kind of thing is specifying outbound_name and outbound_number in addition to an internal_name and internal_number to use different caller ID if you make an intra-office call as opposed to calling outside. -Avi On Thu, Oct 11, 2012 at 4:34 PM, D'Arcy J.M. Cain <darcy@vex.net> wrote:
On Wed, 10 Oct 2012 22:26:17 -0500 Ken Rice <krice@freeswitch.org> wrote:
termination is termination and origination is origination... just because out interconnect tech is primarily sip vs tdm (pots pri ss7 etc) the terminology does not change.
Cool. I am so glad to hear that FS got that right. People seem to get confused. One provider talks about "inbound" and "outbound" to reduce their user's confusion but that's like saying "left" and "right" on a ship. It depends on which direction you are looking.
as far as freeswitch controlling what clid is passed thru, that is up to how you configure freswitch. yes it can pass thru what the customer sends or it can block that and send something you have configured for the customer... for the later see the effective caller id name and number variables on the fs wiki.
Yes, I did that and it still left me with some questions. I know that I may sound knowledgeable about some of these things but when it comes to the FreeSWITCH package itself I am a rank amateur so please bear with me while I describe my understanding in excruciating detail to make sure that I have it right.
Here is an actual (sanitized) directory entry.
<include> <user id="4164251212" mailbox="4164251212"> <params> <param name="password" value="password"/> <param name="vm-password" value="0000"/> </params> <variables> <variable name="accountcode" value="4164251212"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Vex Consulting"/> <variable name="effective_caller_id_number" value="4164251212"/> </variables> </user> </include>
Here is my (again, sanitized) dialplan.
<include> <extension name="mygateway"> <condition field="destination_number" expression="^1?(\d{10})\d*$"> <action application="set" data="effective_caller_id_number=${effective_caller_id_number}"/> <action application="set" data="effective_caller_id_name=${effective_caller_id_name}"/> <action application="bridge" data="sofia/gateway/mygateway/$1"/> </condition> </extension> </include>
So, just before sending this message I decided to test one more time and realized that the reason this didn't seem to work was that the cell phone I was testing with had my office number in the contacts and was displaying that name rather than the CNAME. I changed the number (416-555-1212) and it sent that number and displayed the proper CNAME. I decided to send this message anyway to help future mailing list searchers with a working example as well as pointing out a possible testing gotcha.
-- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On Thu, 11 Oct 2012 16:39:24 +0200 Avi Marcus <avi@avimarcus.net> wrote:
<action application="set" data="effective_caller_id_number=${effective_caller_id_number}"/> ... doesn't do anything. You're just setting a variable to the same variable.
I wondered about that but hadn't got around to testing it. So now my dialplan is; <include> <extension name="mygateway"> <condition field="destination_number" expression="^1?(\d{10})\d*$"> <action application="bridge" data="sofia/gateway/mygateway/$1"/> </condition> </extension> </include> and that works. So it looks like FreeSWITCH does the right thing out of the box and my problem was a testing issue only. -- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
Already typed this, so maybe it'll be helpful. I had to use origination_caller_id_number to get the right number to show up on an incoming call from my gateway being bridged to an external device through my gateway. The bridge I am using is the longer line, but you could set it in a single line. Setting it in the bridge: <action application="bridge" data="<ignore_early_media=true,origination_caller_id_number=${caller_id_number}> {leg_timeout=35}group/${dialed_group}@${domain} :_:{leg_timeout=25,bypass_media_after_bridge=true,absolute_codec_string=G729}group/external_devices@ ${domain}"/> Setting it prior to the bridge : <action application="set" data="origination_caller_id_number=${caller_id_number}"/> On Wed, Oct 10, 2012 at 4:31 PM, D'Arcy J.M. Cain <darcy@vex.net> wrote:
On Wed, 10 Oct 2012 15:40:52 -0400 Nick Vines <jnvines@gmail.com> wrote:
I ran into a similar problem and setting origination_caller_id name and number fixed it for me.
http://wiki.freeswitch.org/wiki/Variable_origination_caller_id_number
Is that just a badly named variable? I am not worried about origination, only termination. Can you show me a more complete example? Where does this go? In the dialplan? The wiki is not very clear. it says to put this inside the {} brackets:
originate {origination_caller_id_name='Caller Name',origination_caller_id_number=5551231234}sofia/gateway/test/1231231234 &park()
But there is stuff outside the brackets. Are there other brackets that this is supposed to nest in? I have no "originate" keyword in my configs.
-- D'Arcy J.M. Cain System Administrator, Vex.Net http://www.Vex.Net/ IM:darcy@Vex.Net
participants (5)
-
Avi Marcus
-
D'Arcy J.M. Cain
-
Ken Rice
-
Michael Collins
-
Nick Vines