Re: [Freeswitch-users] please help!!! how to set flag 'endconf' in bridging conference
I attached the section in my dialplan that handles the bridging conference, when the first user (just say user 99) dials '20', he will invite user 10 to join conference, the conference will only be established if user 10 accepts the invitation, after this, other users can join the conference by dialing '20'. I want that if the first user (user 99 in this case) or the user been invited (user 10 in this case) leaves the conference, no matter how many people are still in the conference, it will close down the conference. so i'm trying to use the 'endconf' flag, but apparently it is not valid syntax for bridging conference as I get a config error while running. If I take out the '+flags{endconf} ', i wont get a config error while running, but then conference will only close down when there is 1 person left. I have also tried creating 2 difference conference profiles, one profile has the 'endconf' set in the 'member-flags', one profiles doesnt have 'endconf' set, so user99 and user20 joins the 20@profile1 conference, and other users joins the 20@profile2 conference, that doesnt seem to work neither. I have pasted conference.conf.xml file as well for ur review. <include> <context name="test"> <extension name="global" continue="true"> <condition> </condition> </extension> <extension name="conf"> <condition field="destination_number" expression="^(20)$"> </condition> <action application="answer"/> <action application="conference" data="bridge:20@default+flags{endconf}:user/10"/> <action application="conference" data="20@default"/> </condition> </extension> </context> </include> On 6/30/2011 6:16 PM, Michael Collins wrote:
Please put this information on pastebin and reply to the list so that we can all discuss it. -MC
On Thu, Jun 30, 2011 at 1:51 PM, ran zhang <rzhang@gosilverplus.com <mailto:rzhang@gosilverplus.com>> wrote:
Mr Collins:
I attached the section in my dialplan that handles the bridging conference, when the first user (just say user 99) dials '20', he will invite user 10 to join conference, the conference will only be established if user 10 accepts the invitation, after this, other users can join the conference by dialing '20'.
I want that if the first user (user 99 in this case) or the user been invited (user 10 in this case) leaves the conference, no matter how many people are still in the conference, it will close down the conference. so i'm trying to use the 'endconf' flag, but apparently it is not valid syntax for bridging conference as I get a config error while running. If I take out the '+flags{endconf} ', i wont get a config error while running, but then conference will only close down when there is 1 person left.
I have also tried creating 2 difference conference profiles, one profile has the 'endconf' set in the 'member-flags', one profiles doesnt have 'endconf' set, so user99 and user20 joins the 20@profile1 conference, and other users joins the 20@profile2 conference, that doesnt seem to work neither. I have pasted conference.conf.xml file as well for ur review.
<include> <context name="test"> <extension name="global" continue="true"> <condition> </condition> </extension>
<extension name="conf"> <condition field="destination_number" expression="^(20)$"> </condition> <action application="answer"/> <action application="conference" data="bridge:20@default+flags{endconf}:user/10"/> <action application="conference" data="20@default"/> </condition> </extension> </context> </include>
<configuration name="conference.conf" description="Audio Conference"> <!-- Advertise certain presence on startup . --> <advertise> <room name="3001@$${domain}" status="FreeSWITCH"/> </advertise>
<!-- These are the default keys that map when you do not specify a caller control group --> <!-- Note: none and default are reserved names for group names. Disabled if dist-dtmf member flag is set. --> <caller-controls> <group name="default"> <control action="mute" digits="0"/> <control action="deaf mute" digits="*"/> <control action="energy up" digits="9"/> <control action="energy equ" digits="8"/> <control action="energy dn" digits="7"/> <control action="vol talk up" digits="3"/> <control action="vol talk zero" digits="2"/> <control action="vol talk dn" digits="1"/> <control action="vol listen up" digits="6"/> <control action="vol listen zero" digits="5"/> <control action="vol listen dn" digits="4"/> <control action="hangup" digits="#"/> </group> </caller-controls>
<!-- Profiles are collections of settings you can reference by name. --> <profiles> <!--If no profile is specified it will default to "default"--> <profile name="default"> <!-- Domain (for presence) --> <param name="domain" value="$${domain}"/> <!-- Sample Rate--> <param name="rate" value="8000"/> <!-- Number of milliseconds per frame --> <param name="interval" value="20"/> <!-- Energy level required for audio to be sent to the other users --> <param name="energy-level" value="300"/>
<!--Can be | delim of waste|mute|deaf|dist-dtmf waste will always transmit data to each channel even during silence. dist-dtmf propagates dtmfs to all other members, but channel controls via dtmf will be disabled. --> <param name="member-flags" value="dist-dtmf"/>
<!-- Name of the caller control group to use for this profile --> <!--<param name="caller-controls" value="some name"/> --> <!-- TTS Engine to use --> <!--<param name="tts-engine" value="cepstral"/>--> <!-- TTS Voice to use --> <!--<param name="tts-voice" value="david"/>-->
<!-- If TTS is enabled all audio-file params beginning with --> <!-- 'say:' will be considered text to say with TTS --> <!-- Override the default path here, after which you use relative paths in the other sound params --> <!-- Note: The default path is the conference's first caller's sound_prefix --> <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>--> <!-- File to play to acknowledge succees --> <!--<param name="ack-sound" value="beep.wav"/>--> <!-- File to play to acknowledge failure --> <!--<param name="nack-sound" value="beeperr.wav"/>--> <!-- File to play to acknowledge muted --> <!-- Conference pin --> <!--<param name="pin" value="12345"/>--> <!-- Default Caller ID Name for outbound calls --> <param name="caller-id-name" value="$${outbound_caller_name}"/> <!-- Default Caller ID Number for outbound calls --> <param name="caller-id-number" value="1234"/> <!-- Suppress start and stop talking events --> <!--<param name="suppress-events" value="start-talking,stop-talking"/> --> <!-- enable comfort noise generation --> <param name="comfort-noise" value="true"/> <!-- Uncomment auto-record to toggle recording every conference call. --> <!-- Another valid value isshout://user:pass@server.com/live.mp3 <mailto:shout://user:pass@server.com/live.mp3> --> <!-- <param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> --> </profile>
On 6/30/2011 1:07 PM, Michael Collins wrote:
Can you pastebin exactly what you are doing to establish the call? Including any relevant dialplan entries. Also, if you have modified conference.conf.xml we would like to see that also.
-MC
On Thu, Jun 30, 2011 at 10:59 AM, ran zhang <rzhang@gosilverplus.com <mailto:rzhang@gosilverplus.com>> wrote:
hi all:
I'm trying to creating a conference, so when first member enters the conference, he has to invite another members and have at least 1 other member to join to have the conference established, so i'm using bridging conference.
I need this conference to be terminated when the original creator of the conference leaves no matter how many members are still left in the conference.
i'm trying to set 'endconf' flag in a bridging conference using 'bridge:confname+flag{endconf}:user/10', so it wil invite user extension 10, but its giving me config error while running.
can someone tell me what to do to solve this problem or get around? the key is i only want the original member to be able to terminate the conference when he leaves, not other members assuming there are at least 2 members.
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
hi michael, i'd like to have that feature, too, because our telco has an unusual line signalling - it only tear down the connection when the A-party hangs up first (Clear Forward). if i transfer the callee to the conference, the telco line remains off-hook forever. as an interim solution, i'm using the terminate_on_silence parameter. -nandy On Fri, Jul 1, 2011 at 9:29 AM, ran zhang <rzhang@gosilverplus.com> wrote:
I attached the section in my dialplan that handles the bridging conference, when the first user (just say user 99) dials '20', he will invite user 10 to join conference, the conference will only be established if user 10 accepts the invitation, after this, other users can join the conference by dialing '20'.
I want that if the first user (user 99 in this case) or the user been invited (user 10 in this case) leaves the conference, no matter how many people are still in the conference, it will close down the conference. so i'm trying to use the 'endconf' flag, but apparently it is not valid syntax for bridging conference as I get a config error while running. If I take out the '+flags{endconf} ', i wont get a config error while running, but then conference will only close down when there is 1 person left.
I have also tried creating 2 difference conference profiles, one profile has the 'endconf' set in the 'member-flags', one profiles doesnt have 'endconf' set, so user99 and user20 joins the 20@profile1 conference, and other users joins the 20@profile2 conference, that doesnt seem to work neither. I have pasted conference.conf.xml file as well for ur review.
<include> <context name="test"> <extension name="global" continue="true"> <condition> </condition> </extension>
<extension name="conf"> <condition field="destination_number" expression="^(20)$" > </condition> <action application="answer"/> <action application="conference" data="bridge:20@default+flags{endconf}:user/10"/> <action application="conference" data="20@default"/> </condition> </extension> </context> </include>
On 6/30/2011 6:16 PM, Michael Collins wrote:
Please put this information on pastebin and reply to the list so that we can all discuss it. -MC
On Thu, Jun 30, 2011 at 1:51 PM, ran zhang <rzhang@gosilverplus.com>wrote:
Mr Collins:
I attached the section in my dialplan that handles the bridging conference, when the first user (just say user 99) dials '20', he will invite user 10 to join conference, the conference will only be established if user 10 accepts the invitation, after this, other users can join the conference by dialing '20'.
I want that if the first user (user 99 in this case) or the user been invited (user 10 in this case) leaves the conference, no matter how many people are still in the conference, it will close down the conference. so i'm trying to use the 'endconf' flag, but apparently it is not valid syntax for bridging conference as I get a config error while running. If I take out the '+flags{endconf} ', i wont get a config error while running, but then conference will only close down when there is 1 person left.
I have also tried creating 2 difference conference profiles, one profile has the 'endconf' set in the 'member-flags', one profiles doesnt have 'endconf' set, so user99 and user20 joins the 20@profile1conference, and other users joins the 20@profile2conference, that doesnt seem to work neither. I have pasted conference.conf.xml file as well for ur review.
<include> <context name="test"> <extension name="global" continue="true"> <condition> </condition> </extension>
<extension name="conf"> <condition field="destination_number" expression="^(20)$" > </condition> <action application="answer"/> <action application="conference" data="bridge:20@default+flags{endconf}:user/10"/> <action application="conference" data="20@default"/> </condition> </extension> </context> </include>
<configuration name="conference.conf" description="Audio Conference"> <!-- Advertise certain presence on startup . --> <advertise> <room name="3001@$${domain}" status="FreeSWITCH"/> </advertise>
<!-- These are the default keys that map when you do not specify a caller control group --> <!-- Note: none and default are reserved names for group names. Disabled if dist-dtmf member flag is set. --> <caller-controls> <group name="default"> <control action="mute" digits="0"/> <control action="deaf mute" digits="*"/> <control action="energy up" digits="9"/> <control action="energy equ" digits="8"/> <control action="energy dn" digits="7"/> <control action="vol talk up" digits="3"/> <control action="vol talk zero" digits="2"/> <control action="vol talk dn" digits="1"/> <control action="vol listen up" digits="6"/> <control action="vol listen zero" digits="5"/> <control action="vol listen dn" digits="4"/> <control action="hangup" digits="#"/> </group> </caller-controls>
<!-- Profiles are collections of settings you can reference by name. --> <profiles> <!--If no profile is specified it will default to "default"--> <profile name="default"> <!-- Domain (for presence) --> <param name="domain" value="$${domain}"/> <!-- Sample Rate--> <param name="rate" value="8000"/> <!-- Number of milliseconds per frame --> <param name="interval" value="20"/> <!-- Energy level required for audio to be sent to the other users --> <param name="energy-level" value="300"/>
<!--Can be | delim of waste|mute|deaf|dist-dtmf waste will always transmit data to each channel even during silence. dist-dtmf propagates dtmfs to all other members, but channel controls via dtmf will be disabled. --> <param name="member-flags" value="dist-dtmf"/>
<!-- Name of the caller control group to use for this profile --> <!-- <param name="caller-controls" value="some name"/> --> <!-- TTS Engine to use --> <!--<param name="tts-engine" value="cepstral"/>--> <!-- TTS Voice to use --> <!--<param name="tts-voice" value="david"/>-->
<!-- If TTS is enabled all audio-file params beginning with --> <!-- 'say:' will be considered text to say with TTS --> <!-- Override the default path here, after which you use relative paths in the other sound params --> <!-- Note: The default path is the conference's first caller's sound_prefix --> <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>--> <!-- File to play to acknowledge succees --> <!--<param name="ack-sound" value="beep.wav"/>--> <!-- File to play to acknowledge failure --> <!--<param name="nack-sound" value="beeperr.wav"/>--> <!-- File to play to acknowledge muted --> <!-- Conference pin --> <!--<param name="pin" value="12345"/>--> <!-- Default Caller ID Name for outbound calls --> <param name="caller-id-name" value="$${outbound_caller_name}"/> <!-- Default Caller ID Number for outbound calls --> <param name="caller-id-number" value="1234"/> <!-- Suppress start and stop talking events --> <!-- <param name="suppress-events" value="start-talking,stop-talking"/> --> <!-- enable comfort noise generation --> <param name="comfort-noise" value="true"/> <!-- Uncomment auto-record to toggle recording every conference call. --> <!-- Another valid value is shout://user:pass@server.com/live.mp3 --> <!-- <param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> --> </profile>
On 6/30/2011 1:07 PM, Michael Collins wrote:
Can you pastebin exactly what you are doing to establish the call? Including any relevant dialplan entries. Also, if you have modified conference.conf.xml we would like to see that also.
-MC
On Thu, Jun 30, 2011 at 10:59 AM, ran zhang <rzhang@gosilverplus.com>wrote:
hi all:
I'm trying to creating a conference, so when first member enters the conference, he has to invite another members and have at least 1 other member to join to have the conference established, so i'm using bridging conference.
I need this conference to be terminated when the original creator of the conference leaves no matter how many members are still left in the conference.
i'm trying to set 'endconf' flag in a bridging conference using 'bridge:confname+flag{endconf}:user/10', so it wil invite user extension 10, but its giving me config error while running.
can someone tell me what to do to solve this problem or get around? the key is i only want the original member to be able to terminate the conference when he leaves, not other members assuming there are at least 2 members.
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicagohttp://www.cluecon.com 877-7-4ACLUE
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...
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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 michael, pls disregard me last post. i just digged the "endconf" parameter. i'll try it. tks. On Fri, Jul 1, 2011 at 10:04 AM, Nandy Dagondon <gcd@i.ph> wrote:
hi michael,
i'd like to have that feature, too, because our telco has an unusual line signalling - it only tear down the connection when the A-party hangs up first (Clear Forward). if i transfer the callee to the conference, the telco line remains off-hook forever. as an interim solution, i'm using the terminate_on_silence parameter.
-nandy
On Fri, Jul 1, 2011 at 9:29 AM, ran zhang <rzhang@gosilverplus.com> wrote:
I attached the section in my dialplan that handles the bridging conference, when the first user (just say user 99) dials '20', he will invite user 10 to join conference, the conference will only be established if user 10 accepts the invitation, after this, other users can join the conference by dialing '20'.
I want that if the first user (user 99 in this case) or the user been invited (user 10 in this case) leaves the conference, no matter how many people are still in the conference, it will close down the conference. so i'm trying to use the 'endconf' flag, but apparently it is not valid syntax for bridging conference as I get a config error while running. If I take out the '+flags{endconf} ', i wont get a config error while running, but then conference will only close down when there is 1 person left.
I have also tried creating 2 difference conference profiles, one profile has the 'endconf' set in the 'member-flags', one profiles doesnt have 'endconf' set, so user99 and user20 joins the 20@profile1conference, and other users joins the 20@profile2conference, that doesnt seem to work neither. I have pasted conference.conf.xml file as well for ur review.
<include> <context name="test"> <extension name="global" continue="true"> <condition> </condition> </extension>
<extension name="conf"> <condition field="destination_number" expression="^(20)$" > </condition> <action application="answer"/> <action application="conference" data="bridge:20@default+flags{endconf}:user/10"/> <action application="conference" data="20@default"/> </condition> </extension> </context> </include>
On 6/30/2011 6:16 PM, Michael Collins wrote:
Please put this information on pastebin and reply to the list so that we can all discuss it. -MC
On Thu, Jun 30, 2011 at 1:51 PM, ran zhang <rzhang@gosilverplus.com>wrote:
Mr Collins:
I attached the section in my dialplan that handles the bridging conference, when the first user (just say user 99) dials '20', he will invite user 10 to join conference, the conference will only be established if user 10 accepts the invitation, after this, other users can join the conference by dialing '20'.
I want that if the first user (user 99 in this case) or the user been invited (user 10 in this case) leaves the conference, no matter how many people are still in the conference, it will close down the conference. so i'm trying to use the 'endconf' flag, but apparently it is not valid syntax for bridging conference as I get a config error while running. If I take out the '+flags{endconf} ', i wont get a config error while running, but then conference will only close down when there is 1 person left.
I have also tried creating 2 difference conference profiles, one profile has the 'endconf' set in the 'member-flags', one profiles doesnt have 'endconf' set, so user99 and user20 joins the 20@profile1conference, and other users joins the 20@profile2conference, that doesnt seem to work neither. I have pasted conference.conf.xml file as well for ur review.
<include> <context name="test"> <extension name="global" continue="true"> <condition> </condition> </extension>
<extension name="conf"> <condition field="destination_number" expression="^(20)$" > </condition> <action application="answer"/> <action application="conference" data="bridge:20@default+flags{endconf}:user/10"/> <action application="conference" data="20@default"/> </condition> </extension> </context> </include>
<configuration name="conference.conf" description="Audio Conference"> <!-- Advertise certain presence on startup . --> <advertise> <room name="3001@$${domain}" status="FreeSWITCH"/> </advertise>
<!-- These are the default keys that map when you do not specify a caller control group --> <!-- Note: none and default are reserved names for group names. Disabled if dist-dtmf member flag is set. --> <caller-controls> <group name="default"> <control action="mute" digits="0"/> <control action="deaf mute" digits="*"/> <control action="energy up" digits="9"/> <control action="energy equ" digits="8"/> <control action="energy dn" digits="7"/> <control action="vol talk up" digits="3"/> <control action="vol talk zero" digits="2"/> <control action="vol talk dn" digits="1"/> <control action="vol listen up" digits="6"/> <control action="vol listen zero" digits="5"/> <control action="vol listen dn" digits="4"/> <control action="hangup" digits="#"/> </group> </caller-controls>
<!-- Profiles are collections of settings you can reference by name. --> <profiles> <!--If no profile is specified it will default to "default"--> <profile name="default"> <!-- Domain (for presence) --> <param name="domain" value="$${domain}"/> <!-- Sample Rate--> <param name="rate" value="8000"/> <!-- Number of milliseconds per frame --> <param name="interval" value="20"/> <!-- Energy level required for audio to be sent to the other users --> <param name="energy-level" value="300"/>
<!--Can be | delim of waste|mute|deaf|dist-dtmf waste will always transmit data to each channel even during silence. dist-dtmf propagates dtmfs to all other members, but channel controls via dtmf will be disabled. --> <param name="member-flags" value="dist-dtmf"/>
<!-- Name of the caller control group to use for this profile --> <!-- <param name="caller-controls" value="some name"/> --> <!-- TTS Engine to use --> <!--<param name="tts-engine" value="cepstral"/>--> <!-- TTS Voice to use --> <!--<param name="tts-voice" value="david"/>-->
<!-- If TTS is enabled all audio-file params beginning with --> <!-- 'say:' will be considered text to say with TTS --> <!-- Override the default path here, after which you use relative paths in the other sound params --> <!-- Note: The default path is the conference's first caller's sound_prefix --> <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>--> <!-- File to play to acknowledge succees --> <!--<param name="ack-sound" value="beep.wav"/>--> <!-- File to play to acknowledge failure --> <!--<param name="nack-sound" value="beeperr.wav"/>--> <!-- File to play to acknowledge muted --> <!-- Conference pin --> <!--<param name="pin" value="12345"/>--> <!-- Default Caller ID Name for outbound calls --> <param name="caller-id-name" value="$${outbound_caller_name}"/> <!-- Default Caller ID Number for outbound calls --> <param name="caller-id-number" value="1234"/> <!-- Suppress start and stop talking events --> <!-- <param name="suppress-events" value="start-talking,stop-talking"/> --> <!-- enable comfort noise generation --> <param name="comfort-noise" value="true"/> <!-- Uncomment auto-record to toggle recording every conference call. --> <!-- Another valid value is shout://user:pass@server.com/live.mp3 --> <!-- <param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> --> </profile>
On 6/30/2011 1:07 PM, Michael Collins wrote:
Can you pastebin exactly what you are doing to establish the call? Including any relevant dialplan entries. Also, if you have modified conference.conf.xml we would like to see that also.
-MC
On Thu, Jun 30, 2011 at 10:59 AM, ran zhang <rzhang@gosilverplus.com>wrote:
hi all:
I'm trying to creating a conference, so when first member enters the conference, he has to invite another members and have at least 1 other member to join to have the conference established, so i'm using bridging conference.
I need this conference to be terminated when the original creator of the conference leaves no matter how many members are still left in the conference.
i'm trying to set 'endconf' flag in a bridging conference using 'bridge:confname+flag{endconf}:user/10', so it wil invite user extension 10, but its giving me config error while running.
can someone tell me what to do to solve this problem or get around? the key is i only want the original member to be able to terminate the conference when he leaves, not other members assuming there are at least 2 members.
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicagohttp://www.cluecon.com 877-7-4ACLUE
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...
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
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 (2)
-
Nandy Dagondon
-
ran zhang