Re: [Freeswitch-users] Not able to make call using external profile
@Tihomir Culjaga HI folks, thanx for such a quick reply. Q. what I want to achieve with FreeSwitch ? A: I want to enable the outside users ( from internet) to have video chat on peer2peer using freeSwitch for signaling. External Profile is being used to for this. External profile is using 5080 port. That port is forwarded on the NAT server. Users are able to connect using 5080 port. They get registered with no issues. Q. where do you want to send calls ? A. I want to send call from one extension to another extension ( both extension exist on the are on public internet). Right now i m trying with 1000 and 1001 user available in the default directory. 1. What is 192.168.1.50 ? Ans: well , this is my domain name which is by default the local-ip address of the machine. My current setup is like this: FreeSwitch ( 192.168.1.50) NAT(122.162.153.224)--Internet(122.80.0.180)NAT--(192.168.1.15)1001(user) 2. Where/how are you originating calls from ? 1. I am using X-lite, Phoner , LinPhone to make calls. All these phones have stun server enabled . For the public dial plan I have added these lines in the file public.xml which is used by the external profile extension name=public_extensions condition field=destination_number expression=^(10[01][0-9])$ action application=bridge data=sofia/external/$1@ $${domain}/ action application=echo/ /condition /extension extension name=echo condition field=destination_number expression=^9996$ action application=answer/ action application=echo/ /condition /extension Now the echo calls works through the external profile. But when a call is being made to some other user, for example if user 1000 makes a call to the 1001 it reaches to the public_extensions but it generates the error which I have already mentioned. For the gateway thing , not gateway is being used. On Fri, Sep 18, 2009 at 7:41 PM, pankaj anand pankajanan...@gmail.comwrote: I m using default configuration of freeswitch.. I m not using any gateway for authentication. in the $INSTALLDIR/conf/sip_profiles/external/ directory, there exist only one file which example.xml , this files contains include !--gateway name=asterlink.com-- !--/// account username *required* ///-- !--param name=username value=cluecon/-- !--/// auth realm: *optional* same as gateway name, if blank ///-- !--param name=realm value=asterlink.com/-- !--/// username to use in from: *optional* same as username, if blank ///-- !--param name=from-user value=cluecon/-- !--/// domain to use in from: *optional* same as realm, if blank ///-- !--param name=from-domain value=asterlink.com/-- !--/// account password *required* ///-- !--param name=password value=2007/-- !--/// extension for inbound calls: *optional* same as username, if blank ///-- !--param name=extension value=cluecon/-- !--/// proxy host: *optional* same as realm, if blank ///-- !--param name=proxy value=asterlink.com/-- !--/// send register to this proxy: *optional* same as proxy, if blank ///-- !--param name=register-proxy value=mysbc.com/-- !--/// expire in seconds: *optional* 3600, if blank ///-- !--param name=expire-seconds value=60/-- !--/// do not register ///-- !--param name=register value=false/-- !-- which transport to use for register -- !--param name=register-transport value=udp/-- !--How many seconds before a retry when a failure or timeout occurs -- !--param name=retry-seconds value=30/-- !--Use the callerid of an inbound call in the from field on outbound calls via this gateway -- !--param name=caller-id-in-from value=false/-- !--extra sip params to send in the contact-- !--param name=contact-params value=tport=tcp/-- !--send an options ping every x seconds, failure will unregister and/or mark it down-- !--param name=ping value=25/-- !--/gateway-- /include as you can see, all the lines are commented. So i m not using any gateways. On Fri, Sep 18, 2009 at 3:43 PM, pankaj anand pankajanan...@gmail.comwrote: hi folks, I m not able to make SIP calls using external profile. i have added the following lines to the $installdir/conf/dialplan/public.xml extension name=echo condition field=destination_number expression=^9996$ action application=answer/ action application=echo/ /condition /extension extension name=public_extensions condition field=destination_number expression=^(10[01][0-9])$ action application=bridge data=sofia/external/$1@ $${domain}/ /condition /extension I m able to connect using 1000 and 1001 from public Internet. I am able to make an echo call. *when i type :* $: sofia status profile external reg It shows the list of
Re: [Freeswitch-users] A real puzzler for you guys... (perpetual registration causes denial of service.)
Karl Vesterling k...@ken-ton.com wrote: No penguin is perfect... There's issues w/ 2.6.X - 2.6.27.X with respect to timing for things like packet shaping, which is a requirement for me. Two suggestions: 1. Your distribution's bug tracker. 2. http://ltp.sourceforge.net/ (If they get test coverage of the relevant interfaces there will be quicker detection of problems and, we hope, prevention of regressions.) ___ 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
Re: [Freeswitch-users] Not able to make call using external profile
check this: http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#Dialing_A_Registered_User dial registered user: action application=bridge data=sofia/external/$1%$${domain}/ dial external endpoint: action application=bridge data=sofia/external/$...@$${domain}/ another issue you might have with RTP so check the wiki for NAT config as well. T. On Sat, Sep 19, 2009 at 7:50 AM, pankaj anand pankajanan...@gmail.comwrote: @Tihomir Culjaga HI folks, thanx for such a quick reply. Q. what I want to achieve with FreeSwitch ? A: I want to enable the outside users ( from internet) to have video chat on peer2peer using freeSwitch for signaling. External Profile is being used to for this. External profile is using 5080 port. That port is forwarded on the NAT server. Users are able to connect using 5080 port. They get registered with no issues. Q. where do you want to send calls ? A. I want to send call from one extension to another extension ( both extension exist on the are on public internet). Right now i m trying with 1000 and 1001 user available in the default directory. 1. What is 192.168.1.50 ? Ans: well , this is my domain name which is by default the local-ip address of the machine. My current setup is like this: FreeSwitch ( 192.168.1.50) NAT(122.162.153.224)--Internet(122.80.0.180)NAT--(192.168.1.15)1001(user) 2. Where/how are you originating calls from ? 1. I am using X-lite, Phoner , LinPhone to make calls. All these phones have stun server enabled . For the public dial plan I have added these lines in the file public.xml which is used by the external profile extension name=public_extensions condition field=destination_number expression=^(10[01][0-9])$ action application=bridge data=sofia/external/$1@ $${domain}/ action application=echo/ /condition /extension extension name=echo condition field=destination_number expression=^9996$ action application=answer/ action application=echo/ /condition /extension Now the echo calls works through the external profile. But when a call is being made to some other user, for example if user 1000 makes a call to the 1001 it reaches to the public_extensions but it generates the error which I have already mentioned. For the gateway thing , not gateway is being used. On Fri, Sep 18, 2009 at 7:41 PM, pankaj anand pankajanan...@gmail.comwrote: I m using default configuration of freeswitch.. I m not using any gateway for authentication. in the $INSTALLDIR/conf/sip_profiles/external/ directory, there exist only one file which example.xml , this files contains include !--gateway name=asterlink.com-- !--/// account username *required* ///-- !--param name=username value=cluecon/-- !--/// auth realm: *optional* same as gateway name, if blank ///-- !--param name=realm value=asterlink.com/-- !--/// username to use in from: *optional* same as username, if blank ///-- !--param name=from-user value=cluecon/-- !--/// domain to use in from: *optional* same as realm, if blank ///-- !--param name=from-domain value=asterlink.com/-- !--/// account password *required* ///-- !--param name=password value=2007/-- !--/// extension for inbound calls: *optional* same as username, if blank ///-- !--param name=extension value=cluecon/-- !--/// proxy host: *optional* same as realm, if blank ///-- !--param name=proxy value=asterlink.com/-- !--/// send register to this proxy: *optional* same as proxy, if blank ///-- !--param name=register-proxy value=mysbc.com/-- !--/// expire in seconds: *optional* 3600, if blank ///-- !--param name=expire-seconds value=60/-- !--/// do not register ///-- !--param name=register value=false/-- !-- which transport to use for register -- !--param name=register-transport value=udp/-- !--How many seconds before a retry when a failure or timeout occurs -- !--param name=retry-seconds value=30/-- !--Use the callerid of an inbound call in the from field on outbound calls via this gateway -- !--param name=caller-id-in-from value=false/-- !--extra sip params to send in the contact-- !--param name=contact-params value=tport=tcp/-- !--send an options ping every x seconds, failure will unregister and/or mark it down-- !--param name=ping value=25/-- !--/gateway-- /include as you can see, all the lines are commented. So i m not using any gateways. On Fri, Sep 18, 2009 at 3:43 PM, pankaj anand pankajanan...@gmail.comwrote: hi folks, I m not able to make SIP calls using external profile. i have added the following lines to the $installdir/conf/dialplan/public.xml extension name=echo condition field=destination_number
Re: [Freeswitch-users] Callback in Javascript, session.destroy() does not free the channel!
Hi Michael, I will like to get a few RINGS back to the user and sleep a bit before the call back. The second i can do using the app sleep. What about the first thing? http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_ring_ready Will test i let you know... Crazy Callbacker aka aep -- Stopping junk mailers is good for the environment FYI, I did a POC on this: extension name=crazy_callback condition field=destination_number expression=^(\d{10})$ action application=set data=luarun dump_arg.lua ${caller_id_number} ${caller_id_name}/ /condition /extension dump_arg.lua: -- dump_args.lua -- print out the args freeswitch.consoleLog(info, Arg1: .. argv[1] .. \n) freeswitch.consoleLog(info, Arg2: .. argv[2] .. \n) From there you can do whatever you want in the target script. I'm sure perlrun, pyrun, and jsrun are all the same in terms of accepting args and running whatever you want, like generating an originate API, etc. Just remember that the caller needs to hangup before you can call him back. :) -MC On Fri, Sep 18, 2009 at 7:53 AM, Anthony Minessale anthony.miness...@gmail.com wrote: You could put an api_hangup_hook on the channel to jsrun your script. What you want with javascript is not going to happen as long as you execute the script *WITH* the channel. it's not a problem it's just misuse/misunderstanding on your part. On Fri, Sep 18, 2009 at 5:03 AM, Alberto Escudero aep.li...@it46.sewrote: Thanks for all the tips. I tried to run apiExecute(bgapi, jsrun originate) and still Javascript?? does not let the thread go. No matter the combination of session.hangup(), exit, apiExecute with or without bgapi, the state remains in CS_EXECUTE. So at the end i am triggering an event that i can later use to execute a originate callback. It is nicer with ESL but i still think that will be nice to have a real way to expunge a second Javascript and let the first one die. The GSM channel/modem needs to be free-free (as I am a serial port-free) to handle the outgoing call. The callback script worked perfect with SIP because it does not care how many sessions are running in parallel. It can always place a call back event the channel is not properly close. /aep -- Stopping junk mailers is good for the environment So, what happens is that when you are executing an app, the state is CS_EXECUTE. Even if the session is hungup, the state machine doesn't go through all the hangup code until your app executes. The easiest workaround is probably to start a background api (bgapi?) call to a script. This will happen on another thread, then allow your current thread to execute and the hangup code will execute. This should work just fine, I think. (You can stop reading here.) But wait, there's even more fun! anthm recently checked in a change a couple days that lets you work around this. Don't call destroy, call hangup on the session, on that session's thread. This will perform a hangup, then progress the state machine. Then the session will truly be hungup. Maybe you need update your freeswitch code, if this is not happening for you. If you updated and hangup still isn't hanging up, you might want to ask specifically about that. Or, you may need to call switch_core_session_hangup_state directly -- just hangup alone might not do the trick. This is a C function, and not exposed to languages by default - you can either patch javascript plugin to expose this safely (and I have no idea what this means for the javascript runtime), or use a more capable plugin like mod_managed which _does_ expose all the C functions, and lets you call in and out of them as you please. And now, someone who knows what they're talking about will chime in and point out what I got wrong. Thanks, -Michael -Original Message- From: freeswitch-users-boun...@lists.freeswitch.org [mailto:freeswitch-users-boun...@lists.freeswitch.org] On Behalf Of Alberto Escudero Sent: Thursday, September 17, 2009 3:20 PM To: freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-users] Callback in Javascript, session.destroy() does not free the channel! We are trying to create a callback application in Javascript. We get the callerid from the unanswered call and after destroying the session, we initiate a callback to the user to conenct it to a local extension in the dialplan. Although we have tried to destroy the first session, or even invoke a second script using apiExecute(jsrun,dialer.js), tried session.hangup() or exit()... the first session does not seem to close properly until the whole chain of scripts are completed. Here is a piece of code that shows the concept (yes!, the sleep function is far from ideal. CPU loves it! ) function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i 1e7; i++) { if ((new
[Freeswitch-users] Affordable GSM gateway for one cellphone?
Hello I'm selling a basic solution for SOHO customers (FS is installed on their work computer running Windows or Macs) to handle an analog phone line. When they're on the road, in addition or instead of getting a notification by e-mail when someone calls their office, some users might want to have the Freeswitch server actually ring their cellphone so they can take calls. Besides taking a subscription with a VoIP provider that the Freeswitch server will use to ring their cellphone, I'd like to know what my options are when it comes to setting up a GSM gateway on the customer's premises, in case they don't want to depend on the Internet. Are there Freeswitch-compatible, affordable solutions to handle a single GSM subscription? I guess all it takes is having them take a second subscription with their GSM provider and inserting the SIM chip inside the gateway to have Freeswitch ring their cellphone, but I've never used those things. Thank you. -- View this message in context: http://www.nabble.com/Affordable-GSM-gateway-for-one-cellphone--tp25520404p25520404.html Sent from the Freeswitch-users mailing list archive at Nabble.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
[Freeswitch-users] Trouble Getting session:getVariable(state) in Lua
I'm having trouble getting the channel variable state in my Lua ivr example. I have tried both session:getVariable(state) session:getVariable(Channel-State) session:getVariable(answer_state) session:getVariable(Answer-State) but lua reports nil for all attempts I did a uuid_dump and it appears normaland both Channel-State and Answer-State Variables are present...does anyone know why my Lua IVR can not get these channel variables? Thanks --matt uuid_dump:Event-Name: CHANNEL_DATA Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf FreeSWITCH-Hostname: matthew-laptop FreeSWITCH-IPv4: 192.168.2.2 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2009-09-19%2012%3A47%3A20 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT Event-Date-Timestamp: 1253364440904749 Event-Calling-File: mod_commands.c Event-Calling-Function: uuid_dump_function Event-Calling-Line-Number: 3298 Channel-State: CS_EXECUTE Channel-State-Number: 4 Channel-Name: sofia/internal/1001 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: answered Channel-Read-Codec-Name: PCMU Channel-Read-Codec-Rate: 8000 Channel-Write-Codec-Name: PCMU Channel-Write-Codec-Rate: 8000 Caller-Caller-ID-Name: FreeSWITCH Caller-Caller-ID-Number: 00 Caller-Network-Addr: 192.168.2.4 Caller-Destination-Number: 1001 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Caller-Source: src/switch_ivr_originate.c Caller-Context: default Caller-Channel-Name: sofia/internal/1001 Caller-Profile-Index: 1 Caller-Profile-Created-Time: 1253364439936068 Caller-Channel-Created-Time: 1253364439936068 Caller-Channel-Answered-Time: 1253364440900612 Caller-Channel-Progress-Time: 1253364439976071 Caller-Channel-Progress-Media-Time: 0 Caller-Channel-Hangup-Time: 0 Caller-Channel-Transfer-Time: 0 Caller-Screen-Bit: true Caller-Privacy-Hide-Name: false Caller-Privacy-Hide-Number: false variable_channel_name: sofia/internal/1001 variable_sip_local_url: 1001%40192.168.2.2 variable_sip_destination_url: %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E variable_is_outbound: true variable_ignore_early_media: true variable_originate_early_media: false variable_sip_nat_detected: true variable_sofia_profile_name: internal variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785 variable_sip_reply_host: 192.168.2.4 variable_sip_reply_port: 5061 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS) variable_switch_r_sdp: v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A variable_remote_media_ip: 192.168.2.4 variable_remote_media_port: 16406 variable_read_codec: PCMU variable_read_rate: 8000 variable_write_codec: PCMU variable_write_rate: 8000 variable_local_media_ip: 192.168.2.2 variable_local_media_port: 20442 variable_endpoint_disposition: ANSWER variable_current_application_data: api_epik_pocket.lua variable_current_application: lua ___ 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
Re: [Freeswitch-users] Trouble Getting session:getVariable(state) in Lua
state is not a variable. I added a session:getState() for you to trunk but I am not sure why you need it. On Sat, Sep 19, 2009 at 9:36 AM, Matthew Fong mattdf...@gmail.com wrote: I'm having trouble getting the channel variable state in my Lua ivr example. I have tried both session:getVariable(state) session:getVariable(Channel-State) session:getVariable(answer_state) session:getVariable(Answer-State) but lua reports nil for all attempts I did a uuid_dump and it appears normaland both Channel-State and Answer-State Variables are present...does anyone know why my Lua IVR can not get these channel variables? Thanks --matt uuid_dump:Event-Name: CHANNEL_DATA Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf FreeSWITCH-Hostname: matthew-laptop FreeSWITCH-IPv4: 192.168.2.2 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2009-09-19%2012%3A47%3A20 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT Event-Date-Timestamp: 1253364440904749 Event-Calling-File: mod_commands.c Event-Calling-Function: uuid_dump_function Event-Calling-Line-Number: 3298 Channel-State: CS_EXECUTE Channel-State-Number: 4 Channel-Name: sofia/internal/1001 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: answered Channel-Read-Codec-Name: PCMU Channel-Read-Codec-Rate: 8000 Channel-Write-Codec-Name: PCMU Channel-Write-Codec-Rate: 8000 Caller-Caller-ID-Name: FreeSWITCH Caller-Caller-ID-Number: 00 Caller-Network-Addr: 192.168.2.4 Caller-Destination-Number: 1001 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Caller-Source: src/switch_ivr_originate.c Caller-Context: default Caller-Channel-Name: sofia/internal/1001 Caller-Profile-Index: 1 Caller-Profile-Created-Time: 1253364439936068 Caller-Channel-Created-Time: 1253364439936068 Caller-Channel-Answered-Time: 1253364440900612 Caller-Channel-Progress-Time: 1253364439976071 Caller-Channel-Progress-Media-Time: 0 Caller-Channel-Hangup-Time: 0 Caller-Channel-Transfer-Time: 0 Caller-Screen-Bit: true Caller-Privacy-Hide-Name: false Caller-Privacy-Hide-Number: false variable_channel_name: sofia/internal/1001 variable_sip_local_url: 1001%40192.168.2.2 variable_sip_destination_url: %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E variable_is_outbound: true variable_ignore_early_media: true variable_originate_early_media: false variable_sip_nat_detected: true variable_sofia_profile_name: internal variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785 variable_sip_reply_host: 192.168.2.4 variable_sip_reply_port: 5061 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS) variable_switch_r_sdp: v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A variable_remote_media_ip: 192.168.2.4 variable_remote_media_port: 16406 variable_read_codec: PCMU variable_read_rate: 8000 variable_write_codec: PCMU variable_write_rate: 8000 variable_local_media_ip: 192.168.2.2 variable_local_media_port: 20442 variable_endpoint_disposition: ANSWER variable_current_application_data: api_epik_pocket.lua variable_current_application: lua ___ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_miness...@hotmail.com msn%3aanthony_miness...@hotmail.com GTALK/JABBER/PAYPAL:anthony.miness...@gmail.compaypal%3aanthony.miness...@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:8...@conference.freeswitch.org sip%3a...@conference.freeswitch.org iax:gu...@conference.freeswitch.org/888 googletalk:conf+...@conference.freeswitch.orggoogletalk%3aconf%2b...@conference.freeswitch.org pstn:213-799-1400 ___ 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
Re: [Freeswitch-users] Affordable GSM gateway for one cellphone?
btw, you can check this GW: http://www.edgepbx.cn/shop/index.php?controller=productproduct_id=12 i have it on my desk and it works as a charm... T. On Sat, Sep 19, 2009 at 1:47 PM, Alberto Escudero aep.li...@it46.se wrote: If you can wait a few weeks, it will be one :) available and documented. /aep -- Stopping junk mailers is good for the environment Hello I'm selling a basic solution for SOHO customers (FS is installed on their work computer running Windows or Macs) to handle an analog phone line. When they're on the road, in addition or instead of getting a notification by e-mail when someone calls their office, some users might want to have the Freeswitch server actually ring their cellphone so they can take calls. Besides taking a subscription with a VoIP provider that the Freeswitch server will use to ring their cellphone, I'd like to know what my options are when it comes to setting up a GSM gateway on the customer's premises, in case they don't want to depend on the Internet. Are there Freeswitch-compatible, affordable solutions to handle a single GSM subscription? I guess all it takes is having them take a second subscription with their GSM provider and inserting the SIM chip inside the gateway to have Freeswitch ring their cellphone, but I've never used those things. Thank you. -- View this message in context: http://www.nabble.com/Affordable-GSM-gateway-for-one-cellphone--tp25520404p25520404.html Sent from the Freeswitch-users mailing list archive at Nabble.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 ___ 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 ___ 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
Re: [Freeswitch-users] skill-based ACD
Andrew, I am sorry for forgetting about you. This is exactly why asked if you were you on IRC the other day... Can you tell me if this is going to stay open source when production ready? jmesquita On 9/18/09, Andrew Thompson and...@hijacked.us wrote: On Thu, Sep 17, 2009 at 11:20:22AM -0700, Michael Collins wrote: I was curious about this myself. Even if someone has built a non-free skills-based ACD using FS I'd like to know about it. -MC I guess nobody paid any attention to my Cluecon presentation... :( http://wiki.opencsm.org/wiki/index.php/Spice_Telephony is a skill-based ACD that uses FS for its voice components. I havent pimped it here in quite a while but here's some of its major features * Skill based routing * Priority Queues (instead of just FIFO) * Multiple call types (voice, voicemail and email are currently supported, instant message support (via libpurple) is prototyped) * Outbound call support (no autodialer though) * Distributed system so you can aggregate multiple FS instances/locations into one big 'virtual' callcenter * Web-based agent and administrative interface There's quite a bit more, but that's the overview. The project is finally approaching a 1.0 after over a year of development - I hope to deploy it in production sometime around the end of this year or the beginning of 2010 (replacing my previous custom asterisk solution). You can grab the code at http://git.opencsm.org/index.cgi/spice-telephony/ (you can browse or git clone that URL). All you should need to run it is a modern erlang release (R12B5 or newer) and ruby/rake to run the build. Andrew ___ 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 -- Sent from my mobile device ___ 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
Re: [Freeswitch-users] Trouble Getting session:getVariable(state) in Lua
I think this is probably also the problem that this user on Jira thought was a bug at http://jira.freeswitch.org/browse/MODLANG-128 http://jira.freeswitch.org/browse/MODLANG-128Anyway, thanks! I had wanted the state of the channel because after hang-up of a channel being controlled by a lua script, the script continues executing. My lua script has a few loops, so if a caller hangups during a loop, the lua script never exits (gets caught in the loop). So I was trying to get the state variable to see if the call still exists, and if not exist the loop and close the lua script. Is there an easier way that I'm missing to accomplish this? Also when using onInput and a dtmf_callback within a luascript, you can interrupt a session:sleep and/or a playmsg, but it seems once the onInput execution is finished, the sleep and playmsg continue. Is the correct method to have the onInput return break; to stop the old sleep and playmsg from Q'ing? Thanks so much. --matt On Sat, Sep 19, 2009 at 10:27 PM, Anthony Minessale anthony.miness...@gmail.com wrote: state is not a variable. I added a session:getState() for you to trunk but I am not sure why you need it. On Sat, Sep 19, 2009 at 9:36 AM, Matthew Fong mattdf...@gmail.com wrote: I'm having trouble getting the channel variable state in my Lua ivr example. I have tried both session:getVariable(state) session:getVariable(Channel-State) session:getVariable(answer_state) session:getVariable(Answer-State) but lua reports nil for all attempts I did a uuid_dump and it appears normaland both Channel-State and Answer-State Variables are present...does anyone know why my Lua IVR can not get these channel variables? Thanks --matt uuid_dump:Event-Name: CHANNEL_DATA Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf FreeSWITCH-Hostname: matthew-laptop FreeSWITCH-IPv4: 192.168.2.2 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2009-09-19%2012%3A47%3A20 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT Event-Date-Timestamp: 1253364440904749 Event-Calling-File: mod_commands.c Event-Calling-Function: uuid_dump_function Event-Calling-Line-Number: 3298 Channel-State: CS_EXECUTE Channel-State-Number: 4 Channel-Name: sofia/internal/1001 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: answered Channel-Read-Codec-Name: PCMU Channel-Read-Codec-Rate: 8000 Channel-Write-Codec-Name: PCMU Channel-Write-Codec-Rate: 8000 Caller-Caller-ID-Name: FreeSWITCH Caller-Caller-ID-Number: 00 Caller-Network-Addr: 192.168.2.4 Caller-Destination-Number: 1001 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Caller-Source: src/switch_ivr_originate.c Caller-Context: default Caller-Channel-Name: sofia/internal/1001 Caller-Profile-Index: 1 Caller-Profile-Created-Time: 1253364439936068 Caller-Channel-Created-Time: 1253364439936068 Caller-Channel-Answered-Time: 1253364440900612 Caller-Channel-Progress-Time: 1253364439976071 Caller-Channel-Progress-Media-Time: 0 Caller-Channel-Hangup-Time: 0 Caller-Channel-Transfer-Time: 0 Caller-Screen-Bit: true Caller-Privacy-Hide-Name: false Caller-Privacy-Hide-Number: false variable_channel_name: sofia/internal/1001 variable_sip_local_url: 1001%40192.168.2.2 variable_sip_destination_url: %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E variable_is_outbound: true variable_ignore_early_media: true variable_originate_early_media: false variable_sip_nat_detected: true variable_sofia_profile_name: internal variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785 variable_sip_reply_host: 192.168.2.4 variable_sip_reply_port: 5061 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS) variable_switch_r_sdp: v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A variable_remote_media_ip: 192.168.2.4 variable_remote_media_port: 16406 variable_read_codec: PCMU variable_read_rate: 8000 variable_write_codec: PCMU variable_write_rate: 8000 variable_local_media_ip: 192.168.2.2 variable_local_media_port: 20442 variable_endpoint_disposition: ANSWER variable_current_application_data: api_epik_pocket.lua variable_current_application: lua ___ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter:
Re: [Freeswitch-users] Trouble Getting session:getVariable(state) in Lua
you should always check session:ready() in all loops if session:ready() fails it means you must exit your script because the call has either been transferred or hungup. On Sat, Sep 19, 2009 at 11:41 AM, Matt Hunter m...@hellohunter.com wrote: I think this is probably also the problem that this user on Jira thought was a bug at http://jira.freeswitch.org/browse/MODLANG-128 http://jira.freeswitch.org/browse/MODLANG-128Anyway, thanks! I had wanted the state of the channel because after hang-up of a channel being controlled by a lua script, the script continues executing. My lua script has a few loops, so if a caller hangups during a loop, the lua script never exits (gets caught in the loop). So I was trying to get the state variable to see if the call still exists, and if not exist the loop and close the lua script. Is there an easier way that I'm missing to accomplish this? Also when using onInput and a dtmf_callback within a luascript, you can interrupt a session:sleep and/or a playmsg, but it seems once the onInput execution is finished, the sleep and playmsg continue. Is the correct method to have the onInput return break; to stop the old sleep and playmsg from Q'ing? Thanks so much. --matt On Sat, Sep 19, 2009 at 10:27 PM, Anthony Minessale anthony.miness...@gmail.com wrote: state is not a variable. I added a session:getState() for you to trunk but I am not sure why you need it. On Sat, Sep 19, 2009 at 9:36 AM, Matthew Fong mattdf...@gmail.comwrote: I'm having trouble getting the channel variable state in my Lua ivr example. I have tried both session:getVariable(state) session:getVariable(Channel-State) session:getVariable(answer_state) session:getVariable(Answer-State) but lua reports nil for all attempts I did a uuid_dump and it appears normaland both Channel-State and Answer-State Variables are present...does anyone know why my Lua IVR can not get these channel variables? Thanks --matt uuid_dump:Event-Name: CHANNEL_DATA Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf FreeSWITCH-Hostname: matthew-laptop FreeSWITCH-IPv4: 192.168.2.2 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2009-09-19%2012%3A47%3A20 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT Event-Date-Timestamp: 1253364440904749 Event-Calling-File: mod_commands.c Event-Calling-Function: uuid_dump_function Event-Calling-Line-Number: 3298 Channel-State: CS_EXECUTE Channel-State-Number: 4 Channel-Name: sofia/internal/1001 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: answered Channel-Read-Codec-Name: PCMU Channel-Read-Codec-Rate: 8000 Channel-Write-Codec-Name: PCMU Channel-Write-Codec-Rate: 8000 Caller-Caller-ID-Name: FreeSWITCH Caller-Caller-ID-Number: 00 Caller-Network-Addr: 192.168.2.4 Caller-Destination-Number: 1001 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9 Caller-Source: src/switch_ivr_originate.c Caller-Context: default Caller-Channel-Name: sofia/internal/1001 Caller-Profile-Index: 1 Caller-Profile-Created-Time: 1253364439936068 Caller-Channel-Created-Time: 1253364439936068 Caller-Channel-Answered-Time: 1253364440900612 Caller-Channel-Progress-Time: 1253364439976071 Caller-Channel-Progress-Media-Time: 0 Caller-Channel-Hangup-Time: 0 Caller-Channel-Transfer-Time: 0 Caller-Screen-Bit: true Caller-Privacy-Hide-Name: false Caller-Privacy-Hide-Number: false variable_channel_name: sofia/internal/1001 variable_sip_local_url: 1001%40192.168.2.2 variable_sip_destination_url: %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E variable_is_outbound: true variable_ignore_early_media: true variable_originate_early_media: false variable_sip_nat_detected: true variable_sofia_profile_name: internal variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785 variable_sip_reply_host: 192.168.2.4 variable_sip_reply_port: 5061 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS) variable_switch_r_sdp: v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A variable_remote_media_ip: 192.168.2.4 variable_remote_media_port: 16406 variable_read_codec: PCMU variable_read_rate: 8000 variable_write_codec: PCMU variable_write_rate: 8000 variable_local_media_ip: 192.168.2.2 variable_local_media_port: 20442 variable_endpoint_disposition: ANSWER variable_current_application_data: api_epik_pocket.lua variable_current_application: lua ___ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org
[Freeswitch-users] Call Tracing
Hi, Say i have an inbound VoIP/SIP call that hits my FS box. Is it possible to to extract information about the intermediate hops that the call or the signaling went through? If so, what information can i get? Thanks, Gregoire. -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser ___ 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
[Freeswitch-users] mod_nibblebill
Guys, I have been testing mod_nibblebill lately and there are 2 params that I could not make work. !-- If a call goes beyond a certain dollar amount, flag or terminate it -- param name=percall_max_amt value=1/ param name=percall_action value=hangup/ Looking at code, I could not find a single line that would actually test those. Is this confirmed to be implemented? If not, this should be removed from the configs so it won't get ppl lured. Regards, jmesquita ___ 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