Hi, I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
I understand that I will have to make changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <!--<param name="odbc-dsn" value="dsn:user:pass"/>--> </settings> </configuration> But the wiki also says this - "ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support)." What does this mean? I couldn't find any more references to it. Wiki says - "Realm and key are arbitrary strings. Consider realm as a container for keys." Does this mean that I can use a realm for a particular type of data e.g. "callerdata", use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch? Is the realm mapped to a table in the database or something similar? Thanks in advance Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Thursday, November 15, 2012 3:30 PM To: 'FreeSWITCH Users Help' Subject: [Freeswitch-users] mod_db help needed Hi, I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Hi Nitin, Just install odbc on you system, I used this one ( http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/installi...) but you can use FreeSWITCH's explanations as well ( http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core) Once you are done the configure should already know that you have odbc support, just hit regular configure or as FreeSWITCH docs says : Compile FreeSWITCH with ODBC support UnixODBC support will be autodetected by ./configure, and if found, will be compiled into FreeSWITCH. As for the keys it is pretty easy just go to ( http://wiki.freeswitch.org/wiki/Mod_db) the query should be something like : <action application="set" data="var=${db(select/realm/key)}"/> The documentation is actually pretty good so try to read it again it will make sense Thanks, Yiftach. On Thu, Nov 15, 2012 at 4:51 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:
I understand that I will have to make changes in db.conf.xml -****
** **
<configuration name="db.conf" description="LIMIT DB Configuration">****
<settings>****
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->****
</settings>****
</configuration>****
** **
But the wiki also says this – “ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support).” What does this mean? I couldn’t find any more references to it.****
** **
Wiki says – “Realm and key are arbitrary strings. Consider realm as a container for keys.” Does this mean that I can use a realm for a particular type of data e.g. “callerdata”, use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch?****
** **
Is the realm mapped to a table in the database or something similar?****
** **
Thanks in advance****
** **
Nitin****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Nitin Tomer *Sent:* Thursday, November 15, 2012 3:30 PM *To:* 'FreeSWITCH Users Help' *Subject:* [Freeswitch-users] mod_db help needed****
** **
Hi,****
** **
I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this.****
** **
Regards****
** **
Nitin****
** ** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
** **
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Hi Yiftach, Thanks for your reply. I have installed and configured ODBC on my server. /etc/odbc.ini has following entries - [freesiwtch-connector] Description = MySQL connection to 'freeswitch' database Driver = MySQL Database = freeswitch Server = localhost UserName = root Password = system123 Port = 3306 Socket = /var/run/mysqld/mysqld.sock After this I did ./configure and "make && make install" Now what all changes I need to make in Freeswitch so that I can make ODBC work in it? Please help me out. N.B. Today Freeswitch.org is down and therefore I am not able to look for any help there Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Yiftach Golan Sent: Friday, November 16, 2012 3:03 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] mod_db help needed Hi Nitin, Just install odbc on you system, I used this one (http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/install ing_configuring_odbc.html) but you can use FreeSWITCH's explanations as well (http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core) Once you are done the configure should already know that you have odbc support, just hit regular configure or as FreeSWITCH docs says : Compile FreeSWITCH with ODBC support UnixODBC support will be autodetected by ./configure, and if found, will be compiled into FreeSWITCH. As for the keys it is pretty easy just go to (http://wiki.freeswitch.org/wiki/Mod_db) the query should be something like : <action application="set" data="var=${db(select/realm/key)}"/> The documentation is actually pretty good so try to read it again it will make sense Thanks, Yiftach. On Thu, Nov 15, 2012 at 4:51 AM, Nitin Tomer <ntomer@newgen.co.in> wrote: I understand that I will have to make changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <!--<param name="odbc-dsn" value="dsn:user:pass"/>--> </settings> </configuration> But the wiki also says this - "ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support)." What does this mean? I couldn't find any more references to it. Wiki says - "Realm and key are arbitrary strings. Consider realm as a container for keys." Does this mean that I can use a realm for a particular type of data e.g. "callerdata", use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch? Is the realm mapped to a table in the database or something similar? Thanks in advance Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Thursday, November 15, 2012 3:30 PM To: 'FreeSWITCH Users Help' Subject: [Freeswitch-users] mod_db help needed Hi, I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Since site was down yesterday, I did some hit and trials myself, made the following changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <param name="freeswitch-connector" value="freeswitch:root:system123#"/> </settings> </configuration> And added this entry in dialplan - <action application="db" data="insert/testapp/newcall1/${res}" /> When I tried running it, I didn't get any error. But neither any entries were made in the database. Please tell me what I am doing wrong. Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Tuesday, November 27, 2012 3:52 PM To: 'FreeSWITCH Users Help' Subject: Re: [Freeswitch-users] mod_db help needed Hi Yiftach, Thanks for your reply. I have installed and configured ODBC on my server. /etc/odbc.ini has following entries - [freesiwtch-connector] Description = MySQL connection to 'freeswitch' database Driver = MySQL Database = freeswitch Server = localhost UserName = root Password = system123 Port = 3306 Socket = /var/run/mysqld/mysqld.sock After this I did ./configure and "make && make install" Now what all changes I need to make in Freeswitch so that I can make ODBC work in it? Please help me out. N.B. Today Freeswitch.org is down and therefore I am not able to look for any help there Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Yiftach Golan Sent: Friday, November 16, 2012 3:03 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] mod_db help needed Hi Nitin, Just install odbc on you system, I used this one (http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/install ing_configuring_odbc.html) but you can use FreeSWITCH's explanations as well (http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core) Once you are done the configure should already know that you have odbc support, just hit regular configure or as FreeSWITCH docs says : Compile FreeSWITCH with ODBC support UnixODBC support will be autodetected by ./configure, and if found, will be compiled into FreeSWITCH. As for the keys it is pretty easy just go to (http://wiki.freeswitch.org/wiki/Mod_db) the query should be something like : <action application="set" data="var=${db(select/realm/key)}"/> The documentation is actually pretty good so try to read it again it will make sense Thanks, Yiftach. On Thu, Nov 15, 2012 at 4:51 AM, Nitin Tomer <ntomer@newgen.co.in> wrote: I understand that I will have to make changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <!--<param name="odbc-dsn" value="dsn:user:pass"/>--> </settings> </configuration> But the wiki also says this - "ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support)." What does this mean? I couldn't find any more references to it. Wiki says - "Realm and key are arbitrary strings. Consider realm as a container for keys." Does this mean that I can use a realm for a particular type of data e.g. "callerdata", use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch? Is the realm mapped to a table in the database or something similar? Thanks in advance Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Thursday, November 15, 2012 3:30 PM To: 'FreeSWITCH Users Help' Subject: [Freeswitch-users] mod_db help needed Hi, I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Server seems back up today. It's been under a DDOS attack for a few days. Your main problem is that your db.conf setup is wrong: <param name="freeswitch-connector" value="freeswitch:root: system123#"/> Should be: <param name="odbc-dsn" value="freeswitch:root:system123#"/> Pretty much every module uses the 'odbc-dsn' parameter name. Any unknown parameters are ignored. This is why you're seeing no error, FS is never even seeing the odbc-dsn param has been set. It'll be using the sqlite files by default. Fix the file then 'reloadxml' and 'reload_db' to pick up the change without restarting FS. If still failing after correcting that... Have you also installed the MyODBC driver? If you're installing unixodbc from a package on your distro then it'll likely be there but in a separate package. You can confirm that your ODBC DSN is working correctly by using the isql program at the CLI. If that connects then you know that your unixODBC settings are correct. -Steve On 29 November 2012 04:40, Nitin Tomer <ntomer@newgen.co.in> wrote:
Since site was down yesterday, I did some hit and trials myself, made the following changes in db.conf.xml –****
** **
<configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <param name="freeswitch-connector" value="freeswitch:root:system123#"/> </settings> </configuration>****
** **
And added this entry in dialplan –****
** **
<action application="db" data="insert/testapp/newcall1/${res}" />****
** **
When I tried running it, I didn’t get any error. But neither any entries were made in the database.****
** **
Please tell me what I am doing wrong.****
** **
Regards****
** **
Nitin****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Nitin Tomer *Sent:* Tuesday, November 27, 2012 3:52 PM *To:* 'FreeSWITCH Users Help'
*Subject:* Re: [Freeswitch-users] mod_db help needed****
** **
Hi Yiftach,****
** **
Thanks for your reply. I have installed and configured ODBC on my server. ****
** **
/etc/odbc.ini has following entries –****
** **
[freesiwtch-connector]****
Description = MySQL connection to 'freeswitch' database****
Driver = MySQL****
Database = freeswitch****
Server = localhost****
UserName = root****
Password = system123****
Port = 3306****
Socket = /var/run/mysqld/mysqld.sock****
** **
After this I did ./configure and “make && make install”****
** **
Now what all changes I need to make in Freeswitch so that I can make ODBC work in it? Please help me out.****
** **
N.B. Today Freeswitch.org is down and therefore I am not able to look for any help there****
** **
Regards****
** **
Nitin****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Yiftach Golan *Sent:* Friday, November 16, 2012 3:03 AM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] mod_db help needed****
** **
Hi Nitin, Just install odbc on you system, I used this one ( http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/installi...) but you can use FreeSWITCH's explanations as well ( http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core) Once you are done the configure should already know that you have odbc support, just hit regular configure or as FreeSWITCH docs says : **** Compile FreeSWITCH with ODBC support****
UnixODBC support will be autodetected by ./configure, and if found, will be compiled into FreeSWITCH. ****
As for the keys it is pretty easy just go to ( http://wiki.freeswitch.org/wiki/Mod_db) the query should be something like : ****
<action application="set" data="var=${db(select/realm/key)}"/>****
The documentation is actually pretty good so try to read it again it will make sense Thanks, Yiftach.****
On Thu, Nov 15, 2012 at 4:51 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:* ***
I understand that I will have to make changes in db.conf.xml -****
****
<configuration name="db.conf" description="LIMIT DB Configuration">****
<settings>****
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->****
</settings>****
</configuration>****
****
But the wiki also says this – “ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support).” What does this mean? I couldn’t find any more references to it.****
****
Wiki says – “Realm and key are arbitrary strings. Consider realm as a container for keys.” Does this mean that I can use a realm for a particular type of data e.g. “callerdata”, use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch?****
****
Is the realm mapped to a table in the database or something similar?****
****
Thanks in advance****
****
Nitin****
****
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Nitin Tomer *Sent:* Thursday, November 15, 2012 3:30 PM *To:* 'FreeSWITCH Users Help' *Subject:* [Freeswitch-users] mod_db help needed****
****
Hi,****
****
I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this.****
****
Regards****
****
Nitin****
**** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
****
** ** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
** **
_________________________________________________________________________ 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****
** **
** ** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
** **
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Thanks Steven. I changed it to <param name="odbc-dsn" value="freeswitch-connector:root:system123#"/> and now it's working fine. Now I will work on call parking and picking. I will be using valet_park for that. Thanks again Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Steven Ayre Sent: Thursday, November 29, 2012 1:26 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] mod_db help needed Server seems back up today. It's been under a DDOS attack for a few days. Your main problem is that your db.conf setup is wrong: <param name="freeswitch-connector" value="freeswitch:root:system123#"/> Should be: <param name="odbc-dsn" value="freeswitch:root:system123#"/> Pretty much every module uses the 'odbc-dsn' parameter name. Any unknown parameters are ignored. This is why you're seeing no error, FS is never even seeing the odbc-dsn param has been set. It'll be using the sqlite files by default. Fix the file then 'reloadxml' and 'reload_db' to pick up the change without restarting FS. If still failing after correcting that... Have you also installed the MyODBC driver? If you're installing unixodbc from a package on your distro then it'll likely be there but in a separate package. You can confirm that your ODBC DSN is working correctly by using the isql program at the CLI. If that connects then you know that your unixODBC settings are correct. -Steve On 29 November 2012 04:40, Nitin Tomer <ntomer@newgen.co.in> wrote: Since site was down yesterday, I did some hit and trials myself, made the following changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <param name="freeswitch-connector" value="freeswitch:root:system123#"/> </settings> </configuration> And added this entry in dialplan - <action application="db" data="insert/testapp/newcall1/${res}" /> When I tried running it, I didn't get any error. But neither any entries were made in the database. Please tell me what I am doing wrong. Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Tuesday, November 27, 2012 3:52 PM To: 'FreeSWITCH Users Help' Subject: Re: [Freeswitch-users] mod_db help needed Hi Yiftach, Thanks for your reply. I have installed and configured ODBC on my server. /etc/odbc.ini has following entries - [freesiwtch-connector] Description = MySQL connection to 'freeswitch' database Driver = MySQL Database = freeswitch Server = localhost UserName = root Password = system123 Port = 3306 Socket = /var/run/mysqld/mysqld.sock After this I did ./configure and "make && make install" Now what all changes I need to make in Freeswitch so that I can make ODBC work in it? Please help me out. N.B. Today Freeswitch.org is down and therefore I am not able to look for any help there Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Yiftach Golan Sent: Friday, November 16, 2012 3:03 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] mod_db help needed Hi Nitin, Just install odbc on you system, I used this one (http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/install ing_configuring_odbc.html) but you can use FreeSWITCH's explanations as well (http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core) Once you are done the configure should already know that you have odbc support, just hit regular configure or as FreeSWITCH docs says : Compile FreeSWITCH with ODBC support UnixODBC support will be autodetected by ./configure, and if found, will be compiled into FreeSWITCH. As for the keys it is pretty easy just go to (http://wiki.freeswitch.org/wiki/Mod_db) the query should be something like : <action application="set" data="var=${db(select/realm/key)}"/> The documentation is actually pretty good so try to read it again it will make sense Thanks, Yiftach. On Thu, Nov 15, 2012 at 4:51 AM, Nitin Tomer <ntomer@newgen.co.in> wrote: I understand that I will have to make changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <!--<param name="odbc-dsn" value="dsn:user:pass"/>--> </settings> </configuration> But the wiki also says this - "ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support)." What does this mean? I couldn't find any more references to it. Wiki says - "Realm and key are arbitrary strings. Consider realm as a container for keys." Does this mean that I can use a realm for a particular type of data e.g. "callerdata", use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch? Is the realm mapped to a table in the database or something similar? Thanks in advance Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Thursday, November 15, 2012 3:30 PM To: 'FreeSWITCH Users Help' Subject: [Freeswitch-users] mod_db help needed Hi, I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Hi, I am using valet_park. I've configure a IVR menu of an extension, based on user's input call is forwarded to other extensions. Extension on which end-users will call - <extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension> The IVR configuration XML is - <include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4"> <entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy --> </menu> </include> Once user presses "1", call is forwarded to 450, for this extension dialplan entry is - <extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> </condition> </extension> Here, the call is parked at any available extension between 8501 to 8599. Then I've set up an extension to pick up calls - <extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension> I have a few questions - 1. Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked? 2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)? 3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel? Please help me out. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Please start a new thread instead of hitting 'Reply' and changing the Subject. This can cause issues with those who use services like Nabble and even cause logging issues with the mailing list. Sent from my iPhone On Nov 29, 2012, at 5:15 AM, "Nitin Tomer" <ntomer@newgen.co.in> wrote:
Hi,
I am using valet_park. I’ve configure a IVR menu of an extension, based on user’s input call is forwarded to other extensions.
Extension on which end-users will call –
<extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension>
The IVR configuration XML is –
<include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4">
<entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy -->
</menu> </include>
Once user presses “1”, call is forwarded to 450, for this extension dialplan entry is –
<extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> </condition> </extension>
Here, the call is parked at any available extension between 8501 to 8599.
Then I’ve set up an extension to pick up calls –
<extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension>
I have a few questions –
1. Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked? 2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)? 3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel?
Please help me out.
Regards
Nitin
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Answers inline... On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:
Hi,****
** **
I am using valet_park. I’ve configure a IVR menu of an extension, based on user’s input call is forwarded to other extensions.****
** **
Extension on which end-users will call –****
** **
<extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension>****
** **
The IVR configuration XML is –****
** **
<include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4">
<entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy -->
</menu> </include>
****
Once user presses “1”, call is forwarded to 450, for this extension dialplan entry is –****
** **
<extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> ****
</condition> </extension>****
** **
Here, the call is parked at any available extension between 8501 to 8599.* ***
** **
Then I’ve set up an extension to pick up calls –****
** **
<extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension>****
** **
I have a few questions –****
** **
**1. **Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked?
Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events.
****
**2. **How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)?****
Do you mean the caller id number? That's literally in channel variable ${caller_id_number}
**3. **If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel?
Both can be in the IVR at the same time and they won't affect each other at all. -MC
****
** **
Please help me out.****
** **
Regards****
** **
Nitin****
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Dear Michael, Thanks for your help. About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. " Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked. Please tell me more details about how to watch the event socket for valet events. Regards Nitin On Friday, 30-11-2012 on 6:38 Michael Collins wrote: Answers inline... On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer wrote: Hi, I am using valet_park. I’ve configure a IVR menu of an extension, based on user’s input call is forwarded to other extensions. Extension on which end-users will call – The IVR configuration XML is – Once user presses “1”, call is forwarded to 450, for this extension dialplan entry is – Here, the call is parked at any available extension between 8501 to 8599. Then I’ve set up an extension to pick up calls – I have a few questions – 1. Valet_park parks the call on any available extension between 8501 to 8599 (). Is there any way to let me know on which extension the call have been parked? Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. 2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database ()? Do you mean the caller id number? That's literally in channel variable ${caller_id_number} 3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel? Both can be in the IVR at the same time and they won't affect each other at all. -MC Please help me out. Regards Nitin Disclaimer :- This E-mail And Any Attachment May Contain Confidential, Proprietary Or Legally Privileged Information. If You Are Not The Original Intended Recipient And Have Erroneously Received This Message, You Are Prohibited From Using, Copying, Altering Or Disclosing The Content Of This Message. Please Delete It Immediately And Notify The Sender. Newgen Software Technologies Ltd (NSTL) Accepts No Responsibilities For Loss Or Damage Arising From The Use Of The Information Transmitted By This Email Including Damages From Virus And Further Acknowledges That No Binding Nature Of The Message Shall Be Implied Or Assumed Unless The Sender Does So Expressly With Due Authority Of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
As far as I know you can't suppress the announcement of the location to the caller. For the event socket you have a lot of homework to do. I recommend: FS Book<https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-telephony-systems/book>, chapter 9 FS Cookbook <http://link.packtpub.com/nuIOlX>, chapter 4 Wiki event socket (see link on left) For a really quick dive into what events look like: launch fs_cli and type: /log 0 /events plain all You'll see EVERY event that the system throws. Try this to narrow it down just to valet events: /filter Event-Class valet_parking::info I typed most of this off the top of my head, so standard disclaimer<http://wiki.freeswitch.org/wiki/Reporting_Bugs#Standard_Disclaimer>applies. Hope this helps you get started! -MC On Thu, Nov 29, 2012 at 6:09 PM, Nitin Tomer <ntomer@newgen.co.in> wrote:
Dear Michael,
Thanks for your help.
About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. "
Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked.
Please tell me more details about how to watch the event socket for valet events.
Regards
Nitin
On Friday, 30-11-2012 on 6:38 Michael Collins wrote:
Answers inline...
On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:
Hi,****
** **
I am using valet_park. I’ve configure a IVR menu of an extension, based on user’s input call is forwarded to other extensions.****
** **
Extension on which end-users will call –****
** **
<extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension>****
** **
The IVR configuration XML is –****
** **
<include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4">
<entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy -->
</menu> </include>
****
Once user presses “1”, call is forwarded to 450, for this extension dialplan entry is –****
** **
<extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> ****
</condition> </extension>****
** **
Here, the call is parked at any available extension between 8501 to 8599. ****
** **
Then I’ve set up an extension to pick up calls –****
** **
<extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension>****
** **
I have a few questions –****
** **
**1. **Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked?
Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events.
****
**2. **How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)?****
Do you mean the caller id number? That's literally in channel variable ${caller_id_number}
**3. **If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel?
Both can be in the IVR at the same time and they won't affect each other at all.
-MC
****
** **
Please help me out.****
** **
Regards****
** **
Nitin****
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Dear Michael, Thanks for your response. If I can't suppress the announcement of location to caller, then I will have to look at an alternative approach. I make entries for every location on which a call is parked in my database, so will it be possible for me to do - 1. Suppose I have assigned extension 8501 to 8599 for parking. 2. Run a for loop, from 8501 to 8599 3. Check whether an entry exists for that extension in the database 4. If an entry exists, it means a call is parked at that extension, move to next extension 5. If no entry exists, it means extension is free. Park the call there and make entry in database 6. Break the loop Will it work? And if it will, please guide me on how to do that. I am new to Freeswitch and not very well-versed with it. Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Friday, November 30, 2012 8:30 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] valet_park help needed As far as I know you can't suppress the announcement of the location to the caller. For the event socket you have a lot of homework to do. I recommend: FS <https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-tel ephony-systems/book> Book, chapter 9 FS Cookbook <http://link.packtpub.com/nuIOlX> , chapter 4 Wiki event socket (see link on left) For a really quick dive into what events look like: launch fs_cli and type: /log 0 /events plain all You'll see EVERY event that the system throws. Try this to narrow it down just to valet events: /filter Event-Class valet_parking::info I typed most of this off the top of my head, so standard <http://wiki.freeswitch.org/wiki/Reporting_Bugs#Standard_Disclaimer> disclaimer applies. Hope this helps you get started! -MC On Thu, Nov 29, 2012 at 6:09 PM, Nitin Tomer <ntomer@newgen.co.in> wrote: Dear Michael, Thanks for your help. About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. " Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked. Please tell me more details about how to watch the event socket for valet events. Regards Nitin On Friday, 30-11-2012 on 6:38 Michael Collins wrote: Answers inline... On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in> wrote: Hi, I am using valet_park. I've configure a IVR menu of an extension, based on user's input call is forwarded to other extensions. Extension on which end-users will call - <extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension> The IVR configuration XML is - <include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4"> <entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy --> </menu> </include> Once user presses "1", call is forwarded to 450, for this extension dialplan entry is - <extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> </condition> </extension> Here, the call is parked at any available extension between 8501 to 8599. Then I've set up an extension to pick up calls - <extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension> I have a few questions - 1. Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked? Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. 2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)? Do you mean the caller id number? That's literally in channel variable ${caller_id_number} 3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel? Both can be in the IVR at the same time and they won't affect each other at all. -MC Please help me out. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Hi Michael, I've decided to do it through Lua. I've written a Lua script which will check whether an entry for an extension exists in the database. And if it doesn't, it'll assume that extension as free and will park the call there. I've made the following changes in the dialplan - <extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action inline="true" application="lua" data="test.lua "/> <action application="db" data="insert/testapp/${parkednumber}/${res}" /> <action application="valet_park" data="my_lot ${parkednumber}" /> </condition> </extension> Test.lua: local dbh = freeswitch.Dbh("freeswitch-connector", "root", "system123#") if dbh:connected() then if stream then stream:write("result - database connected\n\n") else print("database connected") end else if stream then stream:write("result - database error\n") else print("database error") end return end -- set variable - or print to console if no session is available local function sv(key, val) if session then session:setVariable("parkednumber", val) print("value set in session") elseif stream then stream:write(string.format("%25s : %s\n", key, val)) else -- a script executed using luarun does not have a stream print(key .. " : " .. val) end end number = 8501 while(number < 8600) local my_query = "select data from db_data where data_key = '" .. tries .. "'" assert(dbh:query(my_query, function(row) for key, val in pairs(row) do -- in this example only one row with one column will be returned sv(key, val) -- so here key = 'user' end end)) tries = tries + 1 end I want to execute the above query, and check whether any result came. If results came, then I want to proceed to next number. And if no result came, then I want to set it in the session variable and break from the while loop. But I could only find the syntax for assert, no way to check whether the query returned any result or not. Please help me out. Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Friday, November 30, 2012 10:03 AM To: 'FreeSWITCH Users Help' Subject: Re: [Freeswitch-users] valet_park help needed Dear Michael, Thanks for your response. If I can't suppress the announcement of location to caller, then I will have to look at an alternative approach. I make entries for every location on which a call is parked in my database, so will it be possible for me to do - 1. Suppose I have assigned extension 8501 to 8599 for parking. 2. Run a for loop, from 8501 to 8599 3. Check whether an entry exists for that extension in the database 4. If an entry exists, it means a call is parked at that extension, move to next extension 5. If no entry exists, it means extension is free. Park the call there and make entry in database 6. Break the loop Will it work? And if it will, please guide me on how to do that. I am new to Freeswitch and not very well-versed with it. Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Friday, November 30, 2012 8:30 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] valet_park help needed As far as I know you can't suppress the announcement of the location to the caller. For the event socket you have a lot of homework to do. I recommend: FS <https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-tel ephony-systems/book> Book, chapter 9 FS Cookbook <http://link.packtpub.com/nuIOlX> , chapter 4 Wiki event socket (see link on left) For a really quick dive into what events look like: launch fs_cli and type: /log 0 /events plain all You'll see EVERY event that the system throws. Try this to narrow it down just to valet events: /filter Event-Class valet_parking::info I typed most of this off the top of my head, so standard <http://wiki.freeswitch.org/wiki/Reporting_Bugs#Standard_Disclaimer> disclaimer applies. Hope this helps you get started! -MC On Thu, Nov 29, 2012 at 6:09 PM, Nitin Tomer <ntomer@newgen.co.in> wrote: Dear Michael, Thanks for your help. About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. " Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked. Please tell me more details about how to watch the event socket for valet events. Regards Nitin On Friday, 30-11-2012 on 6:38 Michael Collins wrote: Answers inline... On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in> wrote: Hi, I am using valet_park. I've configure a IVR menu of an extension, based on user's input call is forwarded to other extensions. Extension on which end-users will call - <extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension> The IVR configuration XML is - <include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4"> <entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy --> </menu> </include> Once user presses "1", call is forwarded to 450, for this extension dialplan entry is - <extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> </condition> </extension> Here, the call is parked at any available extension between 8501 to 8599. Then I've set up an extension to pick up calls - <extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension> I have a few questions - 1. Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked? Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. 2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)? Do you mean the caller id number? That's literally in channel variable ${caller_id_number} 3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel? Both can be in the IVR at the same time and they won't affect each other at all. -MC Please help me out. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
I haven't had a chance to familiarize my self with the Lua/dbh way of connecting to a database so I'll have to defer to Chad and the other hardcore Lua gurus. This much I can tell you: there is a valet_info API that you can run at fs_cli or from Lua that will tell you what parking spots are currently in use. -MC On Fri, Nov 30, 2012 at 3:35 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:
Hi Michael,****
** **
I’ve decided to do it through Lua. I’ve written a Lua script which will check whether an entry for an extension exists in the database. And if it doesn’t, it’ll assume that extension as free and will park the call there. ****
** **
I’ve made the following changes in the dialplan –****
** **
<extension>****
<condition field="destination_number" expression="^(450)$">****
<action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" />** **
<action application="phrase" data="spell,${res}"/>****
<action application="set" data="caller_id_name=Change Address Request" />****
<action application="set" data="call_timeout=60" />****
<action application="set" data="originate_timeout=60" />****
<action inline="true" application="lua" data="test.lua "/>****
<action application="db" data="insert/testapp/${parkednumber}/${res}" />****
<action application="valet_park" data="my_lot ${parkednumber}" />****
</condition>****
</extension>****
** **
Test.lua:****
** **
local dbh = freeswitch.Dbh("freeswitch-connector", "root", "system123#")** **
** **
if dbh:connected() then****
if stream then****
stream:write("result - database connected\n\n")****
else****
print("database connected")****
end****
else ****
if stream then****
stream:write("result - database error\n")****
else****
print("database error")****
end****
return****
end****
** **
-- set variable - or print to console if no session is available ****
local function sv(key, val)****
if session then****
session:setVariable("parkednumber", val)****
print("value set in session")****
elseif stream then****
stream:write(string.format("%25s : %s\n", key, val))****
else -- a script executed using luarun does not have a stream****
print(key .. " : " .. val)****
end****
end****
** **
number = 8501****
** **
while(number < 8600)****
local my_query = "select data from db_data where data_key = '" .. tries .. “’”****
** **
assert(dbh:query(my_query, function(row)****
for key, val in pairs(row) do -- in this example only one* ***
row with one column will be returned****
sv(key, val) -- so here key = 'user'****
end****
end))****
tries = tries + 1****
end****
** **
I want to execute the above query, and check whether any result came. If results came, then I want to proceed to next number. And if no result came, then I want to set it in the session variable and break from the while loop. But I could only find the syntax for assert, no way to check whether the query returned any result or not. Please help me out.****
** **
Regards****
** **
Nitin****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Nitin Tomer *Sent:* Friday, November 30, 2012 10:03 AM
*To:* 'FreeSWITCH Users Help' *Subject:* Re: [Freeswitch-users] valet_park help needed****
** **
Dear Michael,****
** **
Thanks for your response.****
** **
If I can’t suppress the announcement of location to caller, then I will have to look at an alternative approach.****
** **
I make entries for every location on which a call is parked in my database, so will it be possible for me to do –****
** **
**1. **Suppose I have assigned extension 8501 to 8599 for parking.** **
**2. **Run a for loop, from 8501 to 8599****
**3. **Check whether an entry exists for that extension in the database****
**4. **If an entry exists, it means a call is parked at that extension, move to next extension****
**5. **If no entry exists, it means extension is free. Park the call there and make entry in database****
**6. **Break the loop****
** **
Will it work? And if it will, please guide me on how to do that. I am new to Freeswitch and not very well-versed with it.****
** **
Regards****
** **
Nitin****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Michael Collins *Sent:* Friday, November 30, 2012 8:30 AM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] valet_park help needed****
** **
As far as I know you can't suppress the announcement of the location to the caller.
For the event socket you have a lot of homework to do. I recommend: FS Book<https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-telephony-systems/book>, chapter 9 FS Cookbook <http://link.packtpub.com/nuIOlX>, chapter 4 Wiki event socket (see link on left)
For a really quick dive into what events look like: launch fs_cli and type: /log 0 /events plain all
You'll see EVERY event that the system throws. Try this to narrow it down just to valet events:
/filter Event-Class valet_parking::info
I typed most of this off the top of my head, so standard disclaimer<http://wiki.freeswitch.org/wiki/Reporting_Bugs#Standard_Disclaimer>applies. Hope this helps you get started! -MC****
On Thu, Nov 29, 2012 at 6:09 PM, Nitin Tomer <ntomer@newgen.co.in> wrote:* ***
Dear Michael,
Thanks for your help.
About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. "
Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked.
Please tell me more details about how to watch the event socket for valet events.
Regards
Nitin
On Friday, 30-11-2012 on 6:38 Michael Collins wrote:****
Answers inline...****
On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:* ***
Hi,****
****
I am using valet_park. I’ve configure a IVR menu of an extension, based on user’s input call is forwarded to other extensions.****
****
Extension on which end-users will call –****
****
<extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension>****
****
The IVR configuration XML is –****
****
<include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4">
<entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy -->
</menu> </include>****
Once user presses “1”, call is forwarded to 450, for this extension dialplan entry is –****
****
<extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" /> ****
</condition> </extension>****
****
Here, the call is parked at any available extension between 8501 to 8599.* ***
****
Then I’ve set up an extension to pick up calls –****
****
<extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension>****
****
I have a few questions –****
****
1. Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked?****
Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. ****
2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)?****
Do you mean the caller id number? That's literally in channel variable ${caller_id_number} ****
3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel?****
Both can be in the IVR at the same time and they won't affect each other at all.
-MC ****
****
Please help me out.****
****
Regards****
****
Nitin****
** ** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
** **
_________________________________________________________________________ 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****
** ** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
** **
_________________________________________________________________________ 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****
** ** Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. ****
** **
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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 Fri, Nov 30, 2012 at 3:35 AM, Nitin Tomer <ntomer@newgen.co.in <mailto:ntomer@newgen.co.in>> wrote:
I want to execute the above query, and check whether any result came. If results came, then I want to proceed to next number. And if no result came, then I want to set it in the session variable and break from the while loop. But I could only find the syntax for assert, no way to check whether the query returned any result or not. Please help me out.____
This is how I do it: querystring="SELECT `name` FROM `table` WHERE `id`="..id.." dbh:query(querystring,function(row) result=row.name end) if result~=nil then -- do something with the result get end -- Mimiko desu.
you can use the valet_announce_slot channel variable to disable annoucement of the parking slot. see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_valet_park#Channel_Vari... On 11/29/2012 9:59 PM, Michael Collins wrote:
As far as I know you can't suppress the announcement of the location to the caller.
For the event socket you have a lot of homework to do. I recommend: FS Book <https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-telephony-systems/book>, chapter 9 FS Cookbook <http://link.packtpub.com/nuIOlX>, chapter 4 Wiki event socket (see link on left)
For a really quick dive into what events look like: launch fs_cli and type: /log 0 /events plain all
You'll see EVERY event that the system throws. Try this to narrow it down just to valet events:
/filter Event-Class valet_parking::info
I typed most of this off the top of my head, so standard disclaimer <http://wiki.freeswitch.org/wiki/Reporting_Bugs#Standard_Disclaimer> applies. Hope this helps you get started! -MC
On Thu, Nov 29, 2012 at 6:09 PM, Nitin Tomer <ntomer@newgen.co.in <mailto:ntomer@newgen.co.in>> wrote:
Dear Michael,
Thanks for your help.
About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. "
Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked.
Please tell me more details about how to watch the event socket for valet events.
Regards
Nitin
On Friday, 30-11-2012 on 6:38 Michael Collins wrote:
Answers inline...
On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in <mailto:ntomer@newgen.co.in>> wrote:
Hi,
I am using valet_park. I've configure a IVR menu of an extension, based on user's input call is forwarded to other extensions.
Extension on which end-users will call --
<extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension>
The IVR configuration XML is --
<include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4">
<entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy -->
</menu> </include>
Once user presses "1", call is forwarded to 450, for this extension dialplan entry is --
<extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" />
</condition> </extension>
Here, the call is parked at any available extension between 8501 to 8599.
Then I've set up an extension to pick up calls --
<extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension>
I have a few questions --
1.Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked?
Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events.
2.How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)?
Do you mean the caller id number? That's literally in channel variable ${caller_id_number}
3.If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel?
Both can be in the IVR at the same time and they won't affect each other at all.
-MC
Please help me out.
Regards
Nitin
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto: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 <mailto: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
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto: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 <mailto: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
_________________________________________________________________________ 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
If the caller is hearing the location your doing the transfer wrong! Sent from my iPhone On Dec 2, 2012, at 1:52 PM, Abaci <abaci64@gmail.com> wrote: you can use the valet_announce_slot channel variable to disable annoucement of the parking slot. see http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_valet_park#Channel_Vari... On 11/29/2012 9:59 PM, Michael Collins wrote: As far as I know you can't suppress the announcement of the location to the caller. For the event socket you have a lot of homework to do. I recommend: FS Book<https://www.packtpub.com/freeswitch-1-0-6-build-robust-high-performance-telephony-systems/book>, chapter 9 FS Cookbook <http://link.packtpub.com/nuIOlX>, chapter 4 Wiki event socket (see link on left) For a really quick dive into what events look like: launch fs_cli and type: /log 0 /events plain all You'll see EVERY event that the system throws. Try this to narrow it down just to valet events: /filter Event-Class valet_parking::info I typed most of this off the top of my head, so standard disclaimer<http://wiki.freeswitch.org/wiki/Reporting_Bugs#Standard_Disclaimer>applies. Hope this helps you get started! -MC On Thu, Nov 29, 2012 at 6:09 PM, Nitin Tomer <ntomer@newgen.co.in> wrote:
Dear Michael,
Thanks for your help.
About thsis - "Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events. "
Yes, right now the extension where call is parked, is announced to the caller. I don't want that to happen. I don't want it announced to caller, rather I want it retruned to me, so that I can store it in database. So that my agents can pick the call after seeing the extension where it is parked.
Please tell me more details about how to watch the event socket for valet events.
Regards
Nitin
On Friday, 30-11-2012 on 6:38 Michael Collins wrote:
Answers inline...
On Thu, Nov 29, 2012 at 2:15 AM, Nitin Tomer <ntomer@newgen.co.in> wrote:
Hi,
I am using valet_park. I’ve configure a IVR menu of an extension, based on user’s input call is forwarded to other extensions.
Extension on which end-users will call –
<extension name="ivr_nitin"> <condition field="destination_number" expression="^5002$"> <action application="answer"/> <action application="sleep" data="500"/> <action application="ivr" data="nitin_ivr"/> </condition> </extension>
The IVR configuration XML is –
<include> <menu name="nitin_ivr" greet-long="say:Welcome to Newgen General Insurance Company. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." greet-short="say:Welcome to Newgen. Press 1 for Changing Address, 2 for Changing Nominee or 3 for Close Policy." invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="slt" confirm-attempts="3" timeout="3000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4">
<entry action="menu-exec-app" digits="1" param="transfer 450 XML default"/> <!-- Change Address --> <entry action="menu-exec-app" digits="2" param="transfer 451 XML default"/> <!-- Change Nominee --> <entry action="menu-exec-app" digits="3" param="transfer 452 XML default"/> <!-- Close Policy -->
</menu> </include>
Once user presses “1”, call is forwarded to 450, for this extension dialplan entry is –
<extension> <condition field="destination_number" expression="^(450)$"> <action application="play_and_get_digits" data="10 16 3 3000 # say:'Press your account number, followed by hash key' say:'Wrong Input' res \d+" /> <action application="phrase" data="spell,${res}"/> <action application="db" data="insert/testapp/newcall1/${res}" /> <action application="set" data="caller_id_name=Change Address Request" /> <action application="set" data="call_timeout=60" /> <action application="set" data="originate_timeout=60" /> <action application="valet_park" data="my_lot auto in 8501 8599" />
</condition> </extension>
Here, the call is parked at any available extension between 8501 to 8599.
Then I’ve set up an extension to pick up calls –
<extension name="park-out"> <condition field="destination_number" expression="^(85\d\d)$"> <action application="answer"/> <action application="valet_park" data="my_lot $1"/> </condition> </extension>
I have a few questions –
1. Valet_park parks the call on any available extension between 8501 to 8599 (<action application="valet_park" data="my_lot auto in 8501 8599" />). Is there any way to let me know on which extension the call have been parked?
Using 'auto in' the system will announce the parking location. If you are sending a call in from an IVR then the caller will hear their park location. The only way to know where the call went would be to watch the event socket for relevant valet events.
2. How can I get the number from which call was made in extension 450. The idea is to use the caller number as key and entered value as value while making entry in database (<action application="db" data="insert/testapp/newcall1/${res}" />)?
Do you mean the caller id number? That's literally in channel variable ${caller_id_number}
3. If two users call on extension 5002 (where IVR menu is played), what will happen? Will the second user have to wait for first to finish or whether both will be connected parallel?
Both can be in the IVR at the same time and they won't affect each other at all.
-MC
Please help me out.
Regards
Nitin
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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 _________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees... _________________________________________________________________________ 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
Hi Yiftach, Thanks for your reply. I have installed and configured ODBC on my server. /etc/odbc.ini has following entries - [freesiwtch-connector] Description = MySQL connection to 'freeswitch' database Driver = MySQL Database = freeswitch Server = localhost UserName = root Password = system123 Port = 3306 Socket = /var/run/mysqld/mysqld.sock After this I did ./configure and "make && make install" Now what all changes I need to make in Freeswitch so that I can make ODBC work in it? Please help me out. N.B. Today Freeswitch.org is down and therefore I am not able to look for any help there Regards Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Yiftach Golan Sent: Friday, November 16, 2012 3:03 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] mod_db help needed Hi Nitin, Just install odbc on you system, I used this one (http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/install ing_configuring_odbc.html) but you can use FreeSWITCH's explanations as well (http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core) Once you are done the configure should already know that you have odbc support, just hit regular configure or as FreeSWITCH docs says : Compile FreeSWITCH with ODBC support UnixODBC support will be autodetected by ./configure, and if found, will be compiled into FreeSWITCH. As for the keys it is pretty easy just go to (http://wiki.freeswitch.org/wiki/Mod_db) the query should be something like : <action application="set" data="var=${db(select/realm/key)}"/> The documentation is actually pretty good so try to read it again it will make sense Thanks, Yiftach. On Thu, Nov 15, 2012 at 4:51 AM, Nitin Tomer <ntomer@newgen.co.in> wrote: I understand that I will have to make changes in db.conf.xml - <configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <!--<param name="odbc-dsn" value="dsn:user:pass"/>--> </settings> </configuration> But the wiki also says this - "ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support)." What does this mean? I couldn't find any more references to it. Wiki says - "Realm and key are arbitrary strings. Consider realm as a container for keys." Does this mean that I can use a realm for a particular type of data e.g. "callerdata", use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch? Is the realm mapped to a table in the database or something similar? Thanks in advance Nitin From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Thursday, November 15, 2012 3:30 PM To: 'FreeSWITCH Users Help' Subject: [Freeswitch-users] mod_db help needed Hi, I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this. Regards Nitin Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL. _________________________________________________________________________ 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 Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
--enable-core-odbc-support is an option to the configure script that compiles in ODBC support. It shouldn't be needed any more, it should be enabled by default (if available?) You'll want unixodbc and it's dev package installed. Steve on iPhone On 15 Nov 2012, at 12:51, "Nitin Tomer" <ntomer@newgen.co.in> wrote:
I understand that I will have to make changes in db.conf.xml -
<configuration name="db.conf" description="LIMIT DB Configuration"> <settings> <!--<param name="odbc-dsn" value="dsn:user:pass"/>--> </settings> </configuration>
But the wiki also says this – “ODBC must be configured to use ODBC resources (configure with --enable-core-odbc-support).” What does this mean? I couldn’t find any more references to it.
Wiki says – “Realm and key are arbitrary strings. Consider realm as a container for keys.” Does this mean that I can use a realm for a particular type of data e.g. “callerdata”, use caller number as key and set the entered data against that key. But how would I be able to access this data from outside FreeSwitch?
Is the realm mapped to a table in the database or something similar?
Thanks in advance
Nitin
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Nitin Tomer Sent: Thursday, November 15, 2012 3:30 PM To: 'FreeSWITCH Users Help' Subject: [Freeswitch-users] mod_db help needed
Hi,
I am trying to enter some data (entered by caller, received by Play and Get Digits). But I am not able to get much information about it from mod_db wiki. I want to enter data in an Oracle database. Please tell me what all I need to do, in order to do this.
Regards
Nitin
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
Disclaimer :- This e-mail and any attachment may contain confidential, proprietary or legally privileged information. If you are not the original intended recipient and have erroneously received this message, you are prohibited from using, copying, altering or disclosing the content of this message. Please delete it immediately and notify the sender. Newgen Software Technologies Ltd (NSTL) accepts no responsibilities for loss or damage arising from the use of the information transmitted by this email including damages from virus and further acknowledges that no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of NSTL.
_________________________________________________________________________ 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
participants (8)
-
Abaci
-
Brian Foster
-
Brian West
-
Michael Collins
-
Mimiko
-
Nitin Tomer
-
Steven Ayre
-
Yiftach Golan