[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