CODEC2 Support in FreeSWITCH
I have been working on adding CODEC2 support to FreeSWITCH which is a low bitrate LGPL codec by David Rowe. I have made changes to create the lib required to make this work and waiting on them to be pushed back up stream so I have checked the lib into the libs folder for now. You can find the lib and module in the latest git pull. ./bootstrap.sh ./configure make mod_codec2-install edit modules.conf.xml to load the mod add the codec to your allowed codec list on sofia profiles. Please check it out and let me know what you think. Thanks, Brian
Yay! Great news! On Tue, Sep 21, 2010 at 8:04 PM, Brian West <brian@freeswitch.org> wrote:
I have been working on adding CODEC2 support to FreeSWITCH which is a low bitrate LGPL codec by David Rowe. I have made changes to create the lib required to make this work and waiting on them to be pushed back up stream so I have checked the lib into the libs folder for now.
You can find the lib and module in the latest git pull.
./bootstrap.sh ./configure make mod_codec2-install edit modules.conf.xml to load the mod add the codec to your allowed codec list on sofia profiles.
Please check it out and let me know what you think.
Thanks, Brian
_______________________________________________ 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
-- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618
Voicemail answers for inside calls but not for incoming outside calls. I use the "bridge" function to dial a group, the phones all ring and can answer but voicemail never picks up if no answer. If the DP has a "transfer" it works. Ifound nothing so far in web searches so I am asking for help here. Thanks very much. Incoming Line dial plan,does not allow vm to answer: <include> <extension name="uid1_did"> <condition field="destination_number" expression="^(uid1)$"> <action application="set" data="domain_name=$${domain}"/> <action application="bridge" data="group/MGT@${domain_name}"/> </condition> </extension> </include> <action application="transfer" data="1000 XML default"/> <--- works! DEFAULT.XML <group name="MGT"> <users> <user id="200" type="pointer"/> <user id="201" type="pointer"/> </users> </group> </groups>
When using a public inbound DP rings a group, and there is no answer for an incoming outside call, voicemail does not answer. It works for inside calls to an unanswered extension. Also, if the DP rings a single extension it works. Ifound nothing so far in web searches so I am asking for help here. Thanks very much. Incoming Line dial plan,does not allow vm to answer: <include> <extension name="uid1_did"> <condition field="destination_number" expression="^(uid1)$"> <action application="set" data="domain_name=$${domain}"/> <action application="bridge" data="group/MGT@${domain_name}"/> </condition> </extension> </include> <action application="transfer" data="1000 XML default"/> <--- works! DEFAULT.XML: <group name="MGT"> <users> <user id="200" type="pointer"/> <user id="201" type="pointer"/> </users> </group> </groups>
Why did you send the same email twice? I thought my bowser, i mean browser was messed up for a second. On Wed, Sep 22, 2010 at 10:13 AM, Mario <mario_fs@mgtech.com> wrote:
When using a public inbound DP rings a group, and there is no answer for an incoming outside call, voicemail does not answer. It works for inside calls to an unanswered extension. Also, if the DP rings a single extension it works. Ifound nothing so far in web searches so I am asking for help here. Thanks very much.
Incoming Line dial plan,does not allow vm to answer: <include> <extension name="uid1_did"> <condition field="destination_number" expression="^(uid1)$"> <action application="set" data="domain_name=$${domain}"/> <action application="bridge" data="group/MGT@${domain_name}"/> </condition> </extension> </include> <action application="transfer" data="1000 XML default"/> <--- works!
DEFAULT.XML: <group name="MGT"> <users> <user id="200" type="pointer"/> <user id="201" type="pointer"/> </users> </group> </groups>
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
Sorry, the first email was missing in my sent so I thought it did not go through since I did not see it posted before I sent the 2nd. one. On 09/22/2010 04:57 PM, Anthony Minessale wrote:
Why did you send the same email twice? I thought my bowser, i mean browser was messed up for a second.
On Wed, Sep 22, 2010 at 10:13 AM, Mario <mario_fs@mgtech.com> wrote:
When using a public inbound DP rings a group, and there is no answer for an incoming outside call, voicemail does not answer. It works for inside calls to an unanswered extension. Also, if the DP rings a single extension it works. Ifound nothing so far in web searches so I am asking for help here. Thanks very much.
Incoming Line dial plan,does not allow vm to answer: <include> <extension name="uid1_did"> <condition field="destination_number" expression="^(uid1)$"> <action application="set" data="domain_name=$${domain}"/> <action application="bridge" data="group/MGT@${domain_name}"/> </condition> </extension> </include> <action application="transfer" data="1000 XML default"/> <--- works!
DEFAULT.XML: <group name="MGT"> <users> <user id="200" type="pointer"/> <user id="201" type="pointer"/> </users> </group> </groups>
_______________________________________________ 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
-- *Mario*
Just an update in case someone (newbie like me) has a similar issue. Now I get it: BRIDGE does not run through the dial plan again whereas TRANSFER does. I thought the BRIDGE below would trigger the "local extensions" in the default dial plan where vm was picked up, but it is not the case. I guess I could have added voicemail after the bridge below but I wound up transferring to a new extension that rings the group followed by VM. Many thanks to Anthony's reply (it was removed due to duplicate) that stated I needed the vm after the bridge below. BTW, I tried FS several months ago but your book made things go WAY better this time! On 09/22/10 17:19, Mario wrote:
Sorry, the first email was missing in my sent so I thought it did not go through since I did not see it posted before I sent the 2nd. one.
On 09/22/2010 04:57 PM, Anthony Minessale wrote:
Why did you send the same email twice? I thought my bowser, i mean browser was messed up for a second.
On Wed, Sep 22, 2010 at 10:13 AM, Mario <mario_fs@mgtech.com> wrote:
When using a public inbound DP rings a group, and there is no answer for an incoming outside call, voicemail does not answer. It works for inside calls to an unanswered extension. Also, if the DP rings a single extension it works. Ifound nothing so far in web searches so I am asking for help here. Thanks very much.
Incoming Line dial plan,does not allow vm to answer: <include> <extension name="uid1_did"> <condition field="destination_number" expression="^(uid1)$"> <action application="set" data="domain_name=$${domain}"/> <action application="bridge" data="group/MGT@${domain_name}"/> </condition> </extension> </include> <action application="transfer" data="1000 XML default"/> <--- works!
DEFAULT.XML: <group name="MGT"> <users> <user id="200" type="pointer"/> <user id="201" type="pointer"/> </users> </group> </groups>
_______________________________________________ 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, I'm running Freeswitch built from trunk a week or so ago, 1.0.head. I am using a Cepstral voice for text to speech. I generate a long string of text, including SSML breaks, that is rendered to speech by the swift utility packaged with Cepstral voices. The test string I built renders as 1m:46s of speech, and a .wav file about 1.6MB, from the swift command line. I changed single quotes to double quotes and escaped them, as mentioned on the wiki page for mod_cepstral, and I now have a working text to speech path using ESL built for Ruby 1.9.2, using the sample Ruby code on the wiki. Everything basically works fine, even on my test machine which is a $5/mo Xen VPS with 10ms kernel timer resolution. (lowendbox.com) My issue is that the speech cuts off midway through the call, when I guess some limit on generated output is being reached. Before I dig into the guts of mod_cepstral and Freeswitch, could someone point me to what might be limiting the length of output? Swift seems to generate a wav file of indefinite length, so at least the issue is somewhere in the open source parts of the server. Having yet looked at the guts of mod_cepstral, I presume that a high-performance output module does not have the swift utility write a .wav file to disk and then play it back, but instead lets swift shove the bytes directly into a socket. What is a good Freeswitch example of this architecture? Thanks, Lester
Hi, instead of calling swift directly you can consider calling it via an MRCP server like UniMRCP. It's all free software and works like a charm in my setup. I'm using mod_unimrcp on our FreeSWITCH servers and am running UniMRCP as a server on a single node that is our dedicated speech server. That scenario also offloads the task of speech generation to another machine to save resources on the FreeSWITCH nodes. If you use other cepstral languages than english you need to manually patch the sources. Daniel Am 23.09.2010 22:57, schrieb A. Lester Buck III:
Hi,
I'm running Freeswitch built from trunk a week or so ago, 1.0.head.
I am using a Cepstral voice for text to speech. I generate a long string of text, including SSML breaks, that is rendered to speech by the swift utility packaged with Cepstral voices. The test string I built renders as 1m:46s of speech, and a .wav file about 1.6MB, from the swift command line.
I changed single quotes to double quotes and escaped them, as mentioned on the wiki page for mod_cepstral, and I now have a working text to speech path using ESL built for Ruby 1.9.2, using the sample Ruby code on the wiki.
Everything basically works fine, even on my test machine which is a $5/mo Xen VPS with 10ms kernel timer resolution. (lowendbox.com)
My issue is that the speech cuts off midway through the call, when I guess some limit on generated output is being reached. Before I dig into the guts of mod_cepstral and Freeswitch, could someone point me to what might be limiting the length of output? Swift seems to generate a wav file of indefinite length, so at least the issue is somewhere in the open source parts of the server.
Having yet looked at the guts of mod_cepstral, I presume that a high-performance output module does not have the swift utility write a .wav file to disk and then play it back, but instead lets swift shove the bytes directly into a socket. What is a good Freeswitch example of this architecture?
Thanks,
Lester
_______________________________________________ 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
you have to add the voicemail app to your dialplan after the bridge or how will it? On Tue, Sep 21, 2010 at 7:03 PM, Mario <mario_fs@mgtech.com> wrote:
Voicemail answers for inside calls but not for incoming outside calls. I use the "bridge" function to dial a group, the phones all ring and can answer but voicemail never picks up if no answer. If the DP has a "transfer" it works. Ifound nothing so far in web searches so I am asking for help here. Thanks very much.
Incoming Line dial plan,does not allow vm to answer: <include> <extension name="uid1_did"> <condition field="destination_number" expression="^(uid1)$"> <action application="set" data="domain_name=$${domain}"/> <action application="bridge" data="group/MGT@${domain_name}"/> </condition> </extension> </include> <action application="transfer" data="1000 XML default"/> <--- works!
DEFAULT.XML <group name="MGT"> <users> <user id="200" type="pointer"/> <user id="201" type="pointer"/> </users> </group> </groups>
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
You are the man. Genius great job done. Thanks & regards On Tue, Sep 21, 2010 at 8:04 PM, Brian West <brian@freeswitch.org> wrote:
I have been working on adding CODEC2 support to FreeSWITCH which is a low bitrate LGPL codec by David Rowe. I have made changes to create the lib required to make this work and waiting on them to be pushed back up stream so I have checked the lib into the libs folder for now.
You can find the lib and module in the latest git pull.
./bootstrap.sh ./configure make mod_codec2-install edit modules.conf.xml to load the mod add the codec to your allowed codec list on sofia profiles.
Please check it out and let me know what you think.
Thanks, Brian
_______________________________________________ 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
Ciao Brian, those instructions (pull, bootstrap configure make mod-install) are not working for me (no such target). I had to go into mod_codec2 dir, and do a make && make install. After that, going back to the main FS dir, this is the results of a "make current": make update make[1]: Entering directory `/usr/src/freeswitch' Pulling updates... libs/libcodec2/Makefile.in: needs update libs/libcodec2/src/Makefile.in: needs update libs/libcodec2/unittest/Makefile.in: needs update refusing to pull with rebase: your working tree is not up-to-date make[1]: *** [update] Error 1 make[1]: Leaving directory `/usr/src/freeswitch' make: *** [current] Error 2 For recovering from that, I have to git checkout again (manually) those three files. Done all the procedure two times, is replicable. Congratulations again for mod_codec2 ! (and thanks to David Rowe!) -giovanni On Tue, Sep 21, 2010 at 8:04 PM, Brian West <brian@freeswitch.org> wrote:
I have been working on adding CODEC2 support to FreeSWITCH which is a low bitrate LGPL codec by David Rowe. I have made changes to create the lib required to make this work and waiting on them to be pushed back up stream so I have checked the lib into the libs folder for now.
You can find the lib and module in the latest git pull.
./bootstrap.sh ./configure make mod_codec2-install edit modules.conf.xml to load the mod add the codec to your allowed codec list on sofia profiles.
Please check it out and let me know what you think.
Thanks, Brian
_______________________________________________ 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
-- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618
problem seems solved -giovanni On Thu, Sep 23, 2010 at 3:02 PM, Giovanni Maruzzelli <gmaruzz@gmail.com> wrote:
Ciao Brian,
those instructions (pull, bootstrap configure make mod-install) are not working for me (no such target).
I had to go into mod_codec2 dir, and do a make && make install.
After that, going back to the main FS dir, this is the results of a "make current":
make update make[1]: Entering directory `/usr/src/freeswitch' Pulling updates... libs/libcodec2/Makefile.in: needs update libs/libcodec2/src/Makefile.in: needs update libs/libcodec2/unittest/Makefile.in: needs update refusing to pull with rebase: your working tree is not up-to-date make[1]: *** [update] Error 1 make[1]: Leaving directory `/usr/src/freeswitch' make: *** [current] Error 2
For recovering from that, I have to git checkout again (manually) those three files.
Done all the procedure two times, is replicable.
Congratulations again for mod_codec2 ! (and thanks to David Rowe!)
-giovanni
On Tue, Sep 21, 2010 at 8:04 PM, Brian West <brian@freeswitch.org> wrote:
I have been working on adding CODEC2 support to FreeSWITCH which is a low bitrate LGPL codec by David Rowe. I have made changes to create the lib required to make this work and waiting on them to be pushed back up stream so I have checked the lib into the libs folder for now.
You can find the lib and module in the latest git pull.
./bootstrap.sh ./configure make mod_codec2-install edit modules.conf.xml to load the mod add the codec to your allowed codec list on sofia profiles.
Please check it out and let me know what you think.
Thanks, Brian
_______________________________________________ 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
-- Sincerely,
Giovanni Maruzzelli Cell : +39-347-2665618
-- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618
participants (7)
-
A. Lester Buck III
-
Anthony Minessale
-
Brian West
-
Daniel Neubert
-
Giovanni Maruzzelli
-
Mario
-
Shamun toha md