[Freeswitch-users] uuid_bridge kills both channels if they are executing java app

Artem Shiyanov shiyanov at gmail.com
Thu Dec 3 10:20:12 PST 2009


I've sent deep-breath message to the dev list.
Just-in-case, here is a "cross-post":




Hi there!

This message is a forward from user-mail-list.
I'm trying to fix such a problem:
FreSwithch compiled from SVN-trunk, date = 11/02/2009.

What is need: connect two users, initially one is on the home-grown
java-based IVR and other party is off hook.

What is done/got:
User1 is on the java application, it represents simple IVR system, and the
most used FS API operation is "streamFile".
User2 is off hook.
next:
(mod_socket) create_uuid
<get uuid_x>
bgapi originate
{origination_caller_id_name=User1}[origination_uuid=uuid_x]User1 &park()
<User1 answers incomming call>
<get event channel_User1 answered>
<get event channel_User1 parked>
uuid_bridge uuid_User1 uuid_User2
<get event channel_User1 hangup, cause=NORMAL_CLEARING>
<get event channel_User2 hangup, cause=*DESTINATION_OUT_OF_ORDER*>
<both channel_User1 and channel_User2 are down>


FS log is here: http://pastebin.freeswitch.org/11380


Thank you much for any help,
Artem








On Wed, Dec 2, 2009 at 10:24 PM, Anthony Minessale <
anthony.minessale at gmail.com> wrote:

> you should be working on SVN trunk if you are doing development, we are so
> far forward from 1.0.4 we can't do debugging very easily.
>
> I don't know all of the details of what you are trying to do but you are
> hitting some race conditions because of the async nature of the socket
> connection and the way you are using it.
>
>
>
>
> On Wed, Dec 2, 2009 at 1:08 PM, Artem Shiyanov <shiyanov at gmail.com> wrote:
>
>> I'm back again with the same issue.
>> Now it is became worse: it reproduces occasionally.
>> [FS version is 1.04, test_load = 2 active calls]
>>
>> I've got 2 logs: successful and not.
>> Here is a bad_case:
>>
>> 2009-12-02 13:27:55.159931 [NOTICE] switch_core_session.c:1576 Execute
>> java(/usr/local/freeswitch/scripts/fs2agi.jar
>> org.starpound.fs2agi.Translator
>> ${agi_url})
>> Dec 2, 2009 1:27:55 PM org.starpound.fs2agi.Translator run
>> INFO: ***************************************************
>> Dec 2, 2009 1:27:55 PM org.starpound.fs2agi.Translator run
>> INFO: Run AGI application agi://localhost:4573/hello.agi?callId=929 for
>> session
>> 2898ad41-4ec1-4628-89fd-651a93a7221d
>> 2009-12-02 13:27:55.169841 [NOTICE] switch_cpp.cpp:1130 Run AGI
>> application
>> agi://localhost:4573/hello.agi?callId=929
>> 2009-12-02 13:28:02.888831 [CRIT] mod_local_stream.c:234 Leaking stream
>> handle!
>>
>> [switch_ivr_play_file() src/switch_ivr_play_say.c:1026]
>> 2009-12-02 13:28:04.799806 [NOTICE] switch_channel.c:602 New Channel
>> sofia/internal/2001 [76d2c0e9-16a4-4098-92c0-5977cb482e17]
>> 2009-12-02 13:28:05.148834 [NOTICE] sofia.c:3353 Ring-Ready
>> sofia/internal/2001!
>> 2009-12-02 13:28:05.855093 [NOTICE] sofia.c:3794 Channel
>> [sofia/internal/2001] has
>> been answered
>> Dec 2, 2009 1:28:05 PM org.starpound.fs2agi.Translator tellAllWeCrashed
>> INFO: AGI application agi://localhost:4573/hello.agi?callId=929 for
>> session
>> 2898ad41-4ec1-4628-89fd-651a93a7221d crashed. Exception is:
>> java.lang.Exception: Internal FreeSwitch failure while streamming file,
>> see
>> FreeSwitch logs for details
>>         at
>>
>> org.starpound.fs2agi.agicommands.StreamFileCommand.execute(StreamFileCommand.java:36)
>>         at org.starpound.fs2agi.AgiConnection.run(AgiConnection.java:48)
>>         at org.starpound.fs2agi.Translator.run(Translator.java:56)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>         at org.freeswitch.Launcher.launch(Launcher.java:80)
>> 2009-12-02 13:28:05.870185 [NOTICE] switch_core_state_machine.c:179 Hangup
>> sofia/internal/2001 [CS_EXECUTE] [NORMAL_CLEARING]
>> 2009-12-02 13:28:05.878807 [INFO] switch_cpp.cpp:1130 AGI application
>> agi://localhost:4573/hello.agi?callId=929 crashed. See FS2AGI log for
>> details.
>> 2009-12-02 13:28:05.894422 [NOTICE] switch_ivr_bridge.c:667 Hangup
>> sofia/external/6786081291 at 66.19.38.143 [CS_SOFT_EXECUTE]
>> [DESTINATION_OUT_OF_ORDER]
>> 2009-12-02 13:28:05.894422 [NOTICE] switch_core_session.c:1086 Session 17
>> (sofia/external/6786081291 at 66.19.38.143) Ended
>> 2009-12-02 13:28:05.894422 [NOTICE] switch_core_session.c:1088 Close
>> Channel
>> sofia/external/6786081291 at 66.19.38.143 [CS_DESTROY]
>> 2009-12-02 13:28:05.894422 [NOTICE] switch_core_session.c:1086 Session 18
>> (sofia/internal/2001) Ended
>> 2009-12-02 13:28:05.894422 [NOTICE] switch_core_session.c:1088 Close
>> Channel
>> sofia/internal/2001 [CS_DESTROY]
>>
>>
>>
>> Message
>> "Dec 2, 2009 1:28:05 PM org.starpound.fs2agi.Translator tellAllWeCrashed
>> INFO: AGI application agi://localhost:4573/hello.agi?callId=929 for
>> session
>> 2898ad41-4ec1-4628-89fd-651a93a7221d crashed. Exception is:
>> ..."
>> is sent from my app upon the onHangup().`
>>
>> And here is a good_case:
>>
>> 2009-12-02 13:31:45.959813 [NOTICE] switch_core_session.c:1576 Execute
>> java(/usr/local/freeswitch/scripts/fs2agi.jar
>> org.starpound.fs2agi.Translator
>> ${agi_url})
>> Dec 2, 2009 1:31:45 PM org.starpound.fs2agi.Translator run
>> INFO: ***************************************************
>> Dec 2, 2009 1:31:45 PM org.starpound.fs2agi.Translator run
>> INFO: Run AGI application agi://localhost:4573/hello.agi?callId=932 for
>> session
>> 7c37369b-ffb2-4436-9288-a640047d0e5e
>> 2009-12-02 13:31:45.965814 [NOTICE] switch_cpp.cpp:1130 Run AGI
>> application
>> agi://localhost:4573/hello.agi?callId=932
>> 2009-12-02 13:31:53.648915 [CRIT] mod_local_stream.c:234 Leaking stream
>> handle!
>>
>> [switch_ivr_play_file() src/switch_ivr_play_say.c:1026]
>> 2009-12-02 13:31:59.260797 [NOTICE] switch_channel.c:602 New Channel
>> sofia/internal/2001 [7db554a6-861e-4492-a87b-78b6dfec6488]
>> 2009-12-02 13:31:59.624818 [NOTICE] sofia.c:3353 Ring-Ready
>> sofia/internal/2001!
>> 2009-12-02 13:32:00.130814 [NOTICE] sofia.c:3794 Channel
>> [sofia/internal/2001] has
>> been answered
>> Dec 2, 2009 1:32:00 PM org.starpound.fs2agi.Translator tellAllWeCrashed
>> INFO: AGI application agi://localhost:4573/hello.agi?callId=932 for
>> session
>> 7c37369b-ffb2-4436-9288-a640047d0e5e crashed. Exception is:
>> java.lang.Exception: Internal FreeSwitch failure while streamming file,
>> see
>> FreeSwitch logs for details
>>         at
>>
>> org.starpound.fs2agi.agicommands.StreamFileCommand.execute(StreamFileCommand.java:36)
>>         at org.starpound.fs2agi.AgiConnection.run(AgiConnection.java:48)
>>         at org.starpound.fs2agi.Translator.run(Translator.java:56)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>         at org.freeswitch.Launcher.launch(Launcher.java:80)
>> 2009-12-02 13:32:00.149080 [INFO] switch_cpp.cpp:1130 AGI application
>> agi://localhost:4573/hello.agi?callId=932 crashed. See FS2AGI log for
>> details.
>> 2009-12-02 13:32:00.388838 [INFO] switch_rtp.c:1869 Auto Changing port
>> from
>> 172.26.10.39:26402 to 91.190.120.190:26402
>>
>>
>>
>> Suggestions?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Sat, Nov 21, 2009 at 12:58 PM, Artem Shiyanov <shiyanov at gmail.com>wrote:
>>
>>> Anthony,
>>>
>>> >>As soon as you call uuid_bridge you are transferring both legs of the
>>> call to bridge to each other.
>>> >>This means your java app must exit so the channels can connect to each
>>> other.
>>>
>>> I didn't know that. Now my java app is exiting upon the onHangup() call
>>> so everything has become "ok". Thank you much.
>>> I'll add note to the wiki about this issue.
>>>
>>> Artem
>>>
>>>
>>>
>>>
>>> On Fri, Nov 20, 2009 at 5:49 AM, Anthony Minessale <
>>> anthony.minessale at gmail.com> wrote:
>>>
>>>> Your "annoying behaviour" is the exact behavior you should be getting
>>>> considering what you told FS to do.
>>>>
>>>> As soon as you call uuid_bridge you are transferring both legs of the
>>>> call to bridge to each other.
>>>> This means your java app must exit so the channels can connect to each
>>>> other.
>>>>
>>>> remember that you hangup hook can be called when the channel is
>>>> transferred not only when it hangs up.
>>>> you have to test which is happening based on the input to your callback.
>>>>
>>>>
>>>> On Thu, Nov 19, 2009 at 1:46 PM, Artem Shiyanov <shiyanov at gmail.com>wrote:
>>>>
>>>>> Hi there!
>>>>>
>>>>> I've got annoying FS behavior:
>>>>> There are 2 channels executing the same Java application (application
>>>>> itself is an IVR). If I try to bridge them with uuid_bridged then both
>>>>> channels are killed. Here is a log from FS console:
>>>>> uuid_bridge 68587a9d-1d20-48f1-bdfc-72a2c027e1d2
>>>>> 7d6c08fc-62bf-4a6c-a9ae-763d607e43de
>>>>> 2009-07-09 05:58:26.562783 [DEBUG] switch_ivr_bridge.c:1165
>>>>> (sofia/internal/1005 at 192.168.147.130) State Change CS_EXECUTE ->
>>>>> CS_HIBERNATE
>>>>> 2009-07-09 05:58:26.562783 [DEBUG] switch_cpp.cpp:1185 hangup_hook
>>>>> called
>>>>> 2009-07-09 05:58:26.562783 [DEBUG] switch_ivr_play_say.c:1391 done
>>>>> playing file
>>>>> 2009-07-09 05:58:26.576844 [DEBUG] switch_ivr_play_say.c:1391 done
>>>>> playing file
>>>>> 2009-07-09 05:58:26.641307 [DEBUG] switch_core_session.c:933 Send
>>>>> signal sofia/internal/1005 at 192.168.147.130 [BREAK]
>>>>> 2009-07-09 05:58:26.641307 [DEBUG] switch_ivr_bridge.c:1167
>>>>> (sofia/internal/1001 at master.agent.starpoundtech.net) State Change
>>>>> CS_EXECUTE -> CS_HIBERNATE
>>>>> 2009-07-09 05:58:26.641307 [DEBUG] switch_cpp.cpp:1185 hangup_hook
>>>>> called
>>>>> API CALL [uuid_bridge(68587a9d-1d20-48f1-bdfc-72a2c027e1d2
>>>>> 7d6c08fc-62bf-4a6c-a9ae-763d607e43de)] output:
>>>>> +OK 7d6c08fc-62bf-4a6c-a9ae-763d607e43de
>>>>>
>>>>> freeswitch at localhost.localdomain> 2009-07-09 05:58:26.674348 [DEBUG]
>>>>> switch_core_session.c:933 Send signal
>>>>> sofia/internal/1001 at master.agent.starpoundtec
>>>>> 2009-07-09 05:58:26.714809 [DEBUG] switch_core_session.c:813 Send
>>>>> signal sofia/internal/1005 at 192.168.147.130 [BREAK]
>>>>>
>>>>> 2009-07-09 05:58:26.742764 [CRIT] mod_local_stream.c:234 Leaking stream
>>>>> handle! [switch_ivr_play_file() src/switch_ivr_play_say.c:1026]
>>>>> 2009-07-09 05:58:26.754791 [DEBUG] switch_core_session.c:813 Send
>>>>> signal sofia/internal/1001 at master.agent.starpoundtech.net [BREAK]
>>>>>
>>>>> (FS version is 1.0.4)
>>>>>
>>>>> Any thoughts?
>>>>>
>>>>>
>>>>> Artem
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> FreeSWITCH-users mailing list
>>>>> FreeSWITCH-users at 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 at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
>>>> IRC: irc.freenode.net #freeswitch
>>>>
>>>> FreeSWITCH Developer Conference
>>>> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
>>>> iax:guest at conference.freeswitch.org/888
>>>> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
>>>> pstn:213-799-1400
>>>>
>>>> _______________________________________________
>>>> FreeSWITCH-users mailing list
>>>> FreeSWITCH-users at lists.freeswitch.org
>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>> UNSUBSCRIBE:
>>>> http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>> http://www.freeswitch.org
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at 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 at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
> iax:guest at conference.freeswitch.org/888
> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
> pstn:213-799-1400
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20091203/90a40da6/attachment-0002.html 


More information about the FreeSWITCH-users mailing list