[Freeswitch-users] Consultation Call via event_socket interface

Alexander Haugg Alexander.Haugg at c4b.de
Tue Sep 25 12:54:26 MSD 2012


Hi all

The principle control for a consultation call via uuid commands works fine (See my mail from On Sep 17, 2012 3:53 AM)

Now if have a new problem. The channel variable "park_after_bridge" don't work in all cases.

Good scenario:
If i have the legs A (999849368922) and B (170) bridged and i was set for the two legs with uuid_setvar the value park_after_bridge to true.

Now i Hangup the telefone 170 and the leg A go back to Park. Thats correct
2012-09-25 09:47:52.928287 [NOTICE] sofia.c:711 Hangup sofia/external/170 at 172.16.1.26 [CS_EXCHANGE_MEDIA] [NORMAL_CLEARING]
2012-09-25 09:47:52.928287 [DEBUG] switch_channel.c:2905 Send signal sofia/external/170 at 172.16.1.26 [KILL]
2012-09-25 09:47:52.928287 [DEBUG] switch_core_session.c:1224 Send signal sofia/external/170 at 172.16.1.26 [BREAK]
2012-09-25 09:47:52.928287 [DEBUG] switch_ivr_bridge.c:588 BRIDGE THREAD DONE [sofia/external/170 at 172.16.1.26]
2012-09-25 09:47:52.928287 [DEBUG] switch_ivr_bridge.c:613 Send signal sofia/external/999849368922 at 172.16.1.26 [BREAK]
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:443 (sofia/external/170 at 172.16.1.26) State EXCHANGE_MEDIA going to sleep
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:385 (sofia/external/170 at 172.16.1.26) Running State Change CS_HANGUP
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:625 (sofia/external/170 at 172.16.1.26) State HANGUP
2012-09-25 09:47:52.928287 [DEBUG] switch_ivr_bridge.c:501 sofia/external/170 at 172.16.1.26 ending bridge by request from write function
2012-09-25 09:47:52.928287 [DEBUG] mod_sofia.c:469 Channel sofia/external/170 at 172.16.1.26 hanging up, cause: NORMAL_CLEARING
2012-09-25 09:47:52.928287 [DEBUG] switch_ivr_bridge.c:588 BRIDGE THREAD DONE [sofia/external/999849368922 at 172.16.1.26]
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:47 sofia/external/170 at 172.16.1.26 Standard HANGUP, cause: NORMAL_CLEARING
2012-09-25 09:47:52.928287 [DEBUG] switch_ivr_bridge.c:613 Send signal sofia/external/170 at 172.16.1.26 [BREAK]
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:625 (sofia/external/170 at 172.16.1.26) State HANGUP going to sleep
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:416 (sofia/external/170 at 172.16.1.26) State Change CS_HANGUP -> CS_REPORTING
2012-09-25 09:47:52.928287 [DEBUG] switch_core_session.c:1224 Send signal sofia/external/170 at 172.16.1.26 [BREAK]
2012-09-25 09:47:52.928287 [DEBUG] switch_core_state_machine.c:385 (sofia/external/170 at 172.16.1.26) Running State Change CS_REPORTING
2012-09-25 09:47:52.943911 [DEBUG] switch_ivr_bridge.c:1456 sofia/external/170 at 172.16.1.26 skip receive message [UNBRIDGE] (channel is hungup already)
2012-09-25 09:47:52.943911 [DEBUG] switch_core_state_machine.c:685 (sofia/external/170 at 172.16.1.26) State REPORTING
2012-09-25 09:47:52.943911 [DEBUG] switch_core_session.c:773 Send signal sofia/external/999849368922 at 172.16.1.26 [BREAK]
2012-09-25 09:47:52.943911 [DEBUG] switch_ivr.c:2732 (sofia/external/999849368922 at 172.16.1.26) State Change CS_SOFT_EXECUTE -> CS_PARK
2012-09-25 09:47:52.943911 [DEBUG] switch_core_state_machine.c:79 sofia/external/170 at 172.16.1.26 Standard REPORTING, cause: NORMAL_CLEARING

Bad scenario:
If i have the legs A (999849368922) and B (202) bridged i set for the two legs with uuid_setvar the value park_after_bridge to true.

Now i Hangup the telefone 202 and the Freeswitch send a By fort he leg A

2012-09-25 10:24:02.916087 [NOTICE] sofia.c:711 Hangup sofia/external/202 at 172.16.1.26 [CS_SOFT_EXECUTE] [NORMAL_CLEARING]
2012-09-25 10:24:02.947336 [DEBUG] switch_channel.c:2905 Send signal sofia/external/202 at 172.16.1.26 [KILL]
2012-09-25 10:24:02.947336 [DEBUG] switch_core_session.c:1224 Send signal sofia/external/202 at 172.16.1.26 [BREAK]
2012-09-25 10:24:02.947336 [DEBUG] switch_ivr_bridge.c:588 BRIDGE THREAD DONE [sofia/external/202 at 172.16.1.26]
2012-09-25 10:24:02.947336 [DEBUG] switch_channel.c:2882 (sofia/external/999849368922 at 172.16.1.26) Callstate Change ACTIVE -> HANGUP
2012-09-25 10:24:02.947336 [NOTICE] switch_ivr_bridge.c:601 Hangup sofia/external/999849368922 at 172.16.1.26 [CS_EXCHANGE_MEDIA] [NORMAL_CLEARING]
2012-09-25 10:24:02.947336 [DEBUG] switch_channel.c:2905 Send signal sofia/external/999849368922 at 172.16.1.26 [KILL]
2012-09-25 10:24:02.947336 [DEBUG] switch_core_session.c:1224 Send signal sofia/external/999849368922 at 172.16.1.26 [BREAK]
2012-09-25 10:24:02.947336 [DEBUG] switch_channel.c:1741 (sofia/external/202 at 172.16.1.26) Callstate Change HANGUP -> ACTIVE
2012-09-25 10:24:02.947336 [DEBUG] switch_ivr_bridge.c:613 Send signal sofia/external/999849368922 at 172.16.1.26 [BREAK]
2012-09-25 10:24:02.947336 [DEBUG] switch_ivr_bridge.c:1456 sofia/external/999849368922 at 172.16.1.26 skip receive message [UNBRIDGE] (channel is hungup already)
2012-09-25 10:24:02.947336 [DEBUG] switch_ivr_bridge.c:1459 sofia/external/202 at 172.16.1.26 skip receive message [UNBRIDGE] (channel is hungup already)
2012-09-25 10:24:02.947336 [DEBUG] switch_core_state_machine.c:446 (sofia/external/202 at 172.16.1.26) State SOFT_EXECUTE going to sleep
2012-09-25 10:24:02.947336 [DEBUG] switch_core_state_machine.c:385 (sofia/external/202 at 172.16.1.26) Running State Change CS_HANGUP
2012-09-25 10:24:02.962960 [DEBUG] switch_ivr_play_say.c:1682 done playing file local_stream://moh
2012-09-25 10:24:02.962960 [DEBUG] switch_core_session.c:2329 sofia/external/999849368922 at 172.16.1.26 skip receive message [APPLICATION_EXEC_COMPLETE] (channel is hungup already)
2012-09-25 10:24:02.962960 [DEBUG] switch_ivr_bridge.c:329 sofia/external/999849368922 at 172.16.1.26 skip receive message [BRIDGE] (channel is hungup already)
2012-09-25 10:24:02.962960 [DEBUG] switch_ivr_bridge.c:331 Send signal sofia/external/202 at 172.16.1.26 [BREAK]
2012-09-25 10:24:02.962960 [DEBUG] switch_ivr_bridge.c:507 sofia/external/999849368922 at 172.16.1.26 ending bridge by request from read function
2012-09-25 10:24:02.962960 [DEBUG] switch_ivr_bridge.c:588 BRIDGE THREAD DONE [sofia/external/999849368922 at 172.16.1.26]
2012-09-25 10:24:02.962960 [DEBUG] switch_ivr_bridge.c:613 Send signal sofia/external/202 at 172.16.1.26 [BREAK]
2012-09-25 10:24:02.962960 [DEBUG] switch_core_state_machine.c:443 (sofia/external/999849368922 at 172.16.1.26) State EXCHANGE_MEDIA going to sleep

The only difference is the 202 is an IP-Telephone (not SIP) and the 170 is a System-Telephone.

Have you any idea what is going on in the wrong scenario??

Thak you for your help

Von: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] Im Auftrag von Michael Collins
Gesendet: Dienstag, 18. September 2012 19:38
An: FreeSWITCH Users Help
Betreff: Re: [Freeswitch-users] Consultation Call via event_socket interface

Seven,

I think you're right about att_xfer being a tool for a different job. I'm also interested in knowing if using a conference with the mute/unmute and relations is a feasible approach. However, I think the OP may be able to do this all with a little bit of scripting and maybe uuid_dual_transfer + uuid_bridge.

I'll ruminate on this one a bit and maybe we can kick it around after the featured presentation on tomorrow's conference call.

-MC
On Mon, Sep 17, 2012 at 4:49 PM, Seven Du <dujinfang at gmail.com<mailto:dujinfang at gmail.com>> wrote:
I had the similar issue, when using mod_fifo with mixed inbound/outbound agents, I have to disable the multiline feature on hard phones (any one knows how to disable on eye beam or xlite?)

att_xfer could do this job except it has problems when use with event_socket http://jira.freeswitch.org/browse/FS-4419
, maybe it's not designed to this kind of usage.

Yes, I would use the similar approach with Alexander if I'm doing this. Also I wonder if it's possible to just use a conference with mute/unmute hear/nohear and relate/unrelate combinations.


--
Seven Du
Sent with Sparrow<http://www.sparrowmailapp.com/?sig>


On Tuesday, September 18, 2012 at 7:19 AM, Michael Collins wrote:
JM,

That actually explains a lot. I appreciate the information. I can definitely see where the relative expense of a hard phone would make this kind of application quite valuable. I hope you guys are able to iron out the details. Also, maybe you could see if Mitch Capper could add line appearances to FSClient. :)

-MC
On Mon, Sep 17, 2012 at 3:42 PM, Jmesquita at freeswitch.org<mailto:Jmesquita at freeswitch.org> <jmesquita at freeswitch.org<mailto:jmesquita at freeswitch.org>> wrote:

MC, I believe I have to make a statement here in favor of some realities that are different from the ones most people on this list live in. I live in South America and an IP Phone here does not get lower than 120usd per unit. And I am talking about the cheapest yea link phone model. In brazil, where I come from, this is even higher.

Taking that into consideration, several lower end ip phones started to appear as well as hybrid systems where the majority of the extensions are still analog. In a system like that, CTI applications like the one our friend is describing is really the way out to really add value to a solution.

Even on the asterisk world we see applications like these. For example the flash operator panel and the HUD for asterisk. I believe most of us have heard of it before.

Anyhow, I didn't mean to write an essay on the subject but I see this kind of feature being constantly rejected by the community and I really can't understand why that is.

João Mesquita

On 17/09/2012, at 01:39 p.m., Michael Collins <msc at freeswitch.org<mailto:msc at freeswitch.org>> wrote:
Or get a hard phone that has a hold button and at least two line keys.
-MC
On Mon, Sep 17, 2012 at 5:19 AM, João Mesquita <jmesquita at freeswitch.org<mailto:jmesquita at freeswitch.org>> wrote:


>From personal experience, I believe that how you described is the right way to do it. The only caveat is that you will have to add variables do the channels so you can properly track what is going on in the cdrs . If you don't process cdrs, then it is all good. Careful with pickup and such too...
On Sep 17, 2012 3:53 AM, "Alexander Haugg" <Alexander.Haugg at c4b.de<mailto:Alexander.Haugg at c4b.de>> wrote:


Hi MC,



thank you for the answer.

To your question, all call legs in this scenario (outgoing or incoming direction) are connected over a sip trunk of a pbx.



Scenario:

My CTI

  |  A

  |  |       event socket

  V  |

Freeswitch         Sip Trunk

<-                           PBX

->



My Client control (CTI) the call legs over the event socket interface and the call legs are only legs over the sip trunk to or from the PBX.



After some tests i have found a possible solution:

-          Leg A and Leg B are bridged (all legs get the flag park_after_bridge = true)

-          For Consultation i park Leg B and transfer this Leg to Moh in my default context of my dialplan

-          i originate Leg C and bridge this Leg with Leg A (Leg C have the flag park_after_bridge = true too) Consultation is comlete now.

-          with the principle same think i can toggle Leg A <-> Leg B and Leg A <-> Leg C.



What is your think for this solution? I have tested this on the FS CLI and it works.



Von: freeswitch-users-bounces at lists.freeswitch.org<mailto:freeswitch-users-bounces at lists.freeswitch.org> [mailto:freeswitch-users-bounces at lists.freeswitch.org<mailto:freeswitch-users-bounces at lists.freeswitch.org>] Im Auftrag von Michael Collins
Gesendet: Freitag, 14. September 2012 19:13
An: FreeSWITCH Users Help
Betreff: Re: [Freeswitch-users] Consultation Call via event_socket interface



Hi Alex,

Welcome to the FreeSWITCH mail list!

First question for you: what kind of telephone are you using? The reason I ask is that this kind of function is trivially achieved with a good hard phone, like a Polycom, Yealink, Snom, or Cisco with two or more line keys. If you can use a hard phone w/ multiple line keys then you don't even need to mess with the dialplan, uuid_bridge, etc.

-MC

On Fri, Sep 14, 2012 at 12:24 AM, Alexander Haugg <Alexander.Haugg at c4b.de<mailto:Alexander.Haugg at c4b.de>> wrote:

Hi All,



I'm new on the mailing list.

I have a problem with a call scenario.

-          Channel A and channel B are bridged (A is my own channel and B is my calling partner)

-          Now i set channel B on hold with the command "uuid_hold xxx" and create a new channel to C with the command:

bgapi originate {channel_csid=num,accountcode=num,origination_caller_id_name='num at ip',origination_caller_id_number=num at ip}sofia/external/num at ip  &park

this works correctly, the partner C answer and the channel is established.

-          Now the Problem:

I try to bridge the channel a to channel c with the uuid_bridge command, now the channel b will hangup, why? The variable hangup_after_bridge is by default false.

Other problem: channel A can hear the voice of channel C but not speak with him, channel C can hear and speak. But this problem is not the important think at the moment.

Is there a general problem in my plan to do that?

Is it a better plan to do this over the dialplan?

The next step in this scenario is to toggle the connection A -> B and A -> C.



Thanks for your help!

Nice regards,

Alex

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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



--
Michael S Collins
Twitter: @mercutioviz
http://www.FreeSWITCH.org
http://www.ClueCon.com
http://www.OSTAG.org

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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



--
Michael S Collins
Twitter: @mercutioviz
http://www.FreeSWITCH.org
http://www.ClueCon.com
http://www.OSTAG.org

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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



--
Michael S Collins
Twitter: @mercutioviz
http://www.FreeSWITCH.org
http://www.ClueCon.com
http://www.OSTAG.org

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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



--
Michael S Collins
Twitter: @mercutioviz
http://www.FreeSWITCH.org
http://www.ClueCon.com
http://www.OSTAG.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120925/76cffdcc/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list