[Freeswitch-users] Problem with CALL PICKUP (intercept) in QUEUES (mod_callcenter)
Ewgeny
evoip at ukr.net
Wed Nov 16 14:56:32 MSK 2016
Some more information about the issue with group pickup.
Why intercept doesn't work with Queues ?
15.11.2016 17:47, Ewgeny пишет:
>
> Hi !
>
> First about terminology: *Call Pickup*the ability to pull a ringing
> call to the phone you are currently on.
>
> Call Pickup = Call Intercept = Call group pickup.
>
>
> We're using FreeSWITCH version: 1.6.8~64bit in our complex telephony
> system with Kamailio and other SIP services.
>
> The problem with call pickup (intercept) when using a Queue
> (mod_callcenter).
>
> The group pickup scheme we are using described here:
> http://www.tech-invite.com/fo-sip/tinv-fo-sip-service-16.html.
>
> We do SUBSCRIBE (3 see link) to some our service - that return
> information about the call (call legs) in NOTIFY with XML body (5).
>
> Then we do an INVITE with REPLACES (7) that actually do the Intercept.
>
> This works on normal calls, but doesn't work with Queues.
>
> In the queue a few agents simultaneously calling, and when INVITE w
> Replace headers comes it didn't intercept the call.
>
> The question is: how to implement Call Group Pickup (Call Intercept)
> with mod_callcenter ?
>
> If it necessary i can add call sip traces for more details.
>
> Thanks in advance for any help.
>
>
> Regards Ewgeny.
>
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> 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/20161116/91eb0662/attachment-0001.html
-------------- next part --------------
Call flow with normal Group Pickup
Here:
- UA1 call to UA2;
- UA2 - ringing 180;
- UA3 (Intercepter) - send INVITE with replaces to Freeswitch - to intercept UA2;
- dialog established with UA1 & UA3;
- UA2 - was CANCELED;
- Result: successful Gr. Pickup;
UA1 Freeswitch UA2
──────────┬───────── ──────────┬───────── ──────────┬─────────
│ INVITE (SDP) │ │
│ ──────────────────────────> │ │
│ 100 Trying │ │
│ <────────────────────────── │ │
│ 100 trying -- your call is │ │
│ <────────────────────────── │ │
│ │ INVITE (SDP) │
│ │ ──────────────────────────> │
│ │ 100 trying -- your call is │
│ │ <────────────────────────── │
│ │ 180 Ringing │
│ │ <────────────────────────── │
│ 180 Ringing │ │
│ <────────────────────────── │ │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │ UA3 (Intercepter)
│ │ ──────────┬───────
│ │ INVITE (replaces UA2) │
│ │ <─────────────────────────────────────────────────────── |
│ │ 200 OK (SDP) │
│ │ ───────────────────────────────────────────────────────> |
│ │ │
│ │ │
│ 200 OK (SDP) │
│ <────────────────────────── │ │
│ ACK │ │
│ ──────────────────────────> │ CANCEL │
│ │ ──────────────────────────> │
│ │ 200 canceling │
│ │ <────────────────────────── │
│ │ 487 Request Terminated │
│ │ <────────────────────────── │
│ │ ACK │
│ │ ──────────────────────────> │
│ │
│ │
Call flow with Group Pickup in Queues (mod_callcenter)
Here:
- UA1 call to Queue some number, the Queue has 2 agents. The Queue is based on mod_callcenter;
- Queue Agent 1 & Queue Agent 2 - are ringing;
- UA3 (Intercepter) - send INVITE with replaces to Freeswitch - to intercept Queue Agent 1;
- for both queue agents are sent CANCEL. To UA3 (Intercepter) sent "502 Bad Gateway";
- In Freeswitch console logs: "Reason: Q.850;cause=27;text="DESTINATION_OUT_OF_ORDER";
- Result: Gr. Pickup failed;
UA1 Freeswitch
(Queue mod_callcenter) Queue Agent 1 Queue Agent 2
──────────┬───────── ──────────┬───────── ──────────┬───────── ──────────┬─────────
│ INVITE (SDP) │ │ │
│ ──────────────────────────> │ │ │
│ 100 Trying │ │ │
│ <────────────────────────── │ │ │
│ 100 trying -- your call is │ │ │
│ <────────────────────────── │ │ │
│ │ INVITE (SDP) │ │
│ │ ──────────────────────────> │ │
│ │ │ │
│ 180 Ringing │ 180/183 Session Progress │ │
│ <────────────────────────── │ <────────────────────────── │ │
│ │ │ │
│ │ │ │
│ 200 OK (SDP) │ │ │
│ <────────────────────────── │ │ │
│ ACK │ │
│ ──────────────────────────> │ INVITE (SDP) │
│ │ <──────────────────────────────────────────────────── |
│ │ 180/183 Session Progress │
│ │ ────────────────────────────────────────────────────> |
│ │ CANCEL │
│ │ ────────────────────────────────────────────────────> │
│ │ 200 canceling │
│ │ ────────────────────────────────────────────────────> │
│
│ │
│ │ │
│ │ │
│ │ CANCEL │
│ │ ──────────────────────────> │
│ │ 200 canceling │
│ │ <────────────────────────── │
│ │ │
│ │ │
│ │ │
│ │ │
│ │
│ │
│ │ UA3 (Intercepter)
│ │ ──────────┬───────
│ │ INVITE (replaces Queue Agent 1) │
│ │ <─────────────────────────────────────────────────────────────────────────────────── │
│ | 100 Trying │
│ | ───────────────────────────────────────────────────────────────────────────────────> │
│ 502 Bad Gateway │
│ ───────────────────────────────────────────────────────────────────────────────────> │
│ ACK │
│ ───────────────────────────────────────────────────────────────────────────────────> │ │
│ │
│
│
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list