한국어

소프트스위치

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


1.6.2.  Call pickup

https://opensips.org/html/docs/modules/3.2.x/event_routing.html


The scenario is Alice calling to bob, Bob does not pickup and Charlie is performing call pickup (to get the call from Alice)

We use notify_on_event to link the two calls: the one from Alice to Bob and the one from Charlie to call pickup service.

Schematics: when we send a call to a user within a pickup group, we subscribe to see if there is any call to the pickup service (from another member of the same pickup group). 

When we have a call to the pickup service, we raise from script an event - this event will be notified to the first call and we cancel the branches to Bob and inject the registered contacts for the user calling to pickup group (Charlie).


... route[handle_call] if ($rU=="33") { ## this is a call to the pickup service ## (Charlie calling 33) # reject incoming call as we will generate an back call # from the original call (Alice to Bob) t_newtran(); send_reply(480,"Gone"); # raise the pickup custom event # with pickup group 1 and picker being Charlie (caller) $avp(attr-name) = "group"; $avp(attr-val) = "1"; $avp(attr-name) = "picker"; $avp(attr-val) = $fu; raise_event("E_CALL_PICKUP", $avp(attr-name), $avp(attr-val)); exit; } else { ## this is a call to a subscriber ## (Alice calls Bob) # apply user location if (!lookup("location","m")) { send_reply(404, "Not Found"); exit; } # prepare transaction for branch injection; it is mandatory # to create the transaction before the subscription, otherwise # the EBR module will not pass the transaction ID into the # notification route t_newtran(); # subscribe to a call pickup event, but for our group only $avp(filter) = "group=1"; notify_on_event("E_CALL_PICKUP",$avp(filter), "handle_pickup", 20); t_relay(); } exit; } route[handle_pickup] { xlog("call picked by $avp(picker), fetching its contacts\n"); if (lookup("location","", $avp(picker))) { # take the contacts retured by lookup() (for Charlie) # and inject them into the original call, but also cancel # any existing ongoing branch (ringing to Bob) t_inject_branches("msg","cancel"); } }


조회 수 :
5425
등록일 :
2023.07.27
16:20:30 (*.7.25.5)
엮인글 :
http://webs.co.kr/index.php?document_srl=3349444&act=trackback&key=0d8
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3349444
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
21 JsSIP: The JavaScript SIP Library admin 2017-09-01 20533
20 You can install CDRTool in the following ways: admin 2017-09-01 20400
19 compile only the textops module make modules=modules/textops modules admin 2017-09-05 19156
18 How to 2.3 download , OpenSIPS new apt repository. DEBs for Debian / Ubuntu admin 2017-09-02 18877
17 opensips exec module admin 2017-12-08 18654
16 OpenSIPS example configuration admin 2017-12-12 18429
15 Opensips 2.32 download admin 2017-09-01 18278
14 in opensips db_does_uri_exist() what is admin 2017-12-09 18239
13 Documentation -> Tutorials -> WebSocket Transport using OpenSIPS admin 2018-05-17 17838
12 opensips/modules/event_routing/ Push Notification Call pickup admin 2017-12-20 14411
11 smpp sms opensips admin 2019-02-19 11694
10 debian 11 opensips 3.2 install command admin 2023-06-25 9643
9 opensips-cli command admin 2023-08-07 7320
8 opensips basic route script configuration admin 2023-08-13 6879
7 opensips Push Notification configuration admin 2023-07-29 5505
6 string trans opensips admin 2023-08-05 5458
» opensips Call pickup configuration admin 2023-07-27 5425
4 t_relay opensips admin 2023-07-25 5334
3 Asterisk 에서 FreeSWITCH 전환 admin 2024-04-09 138
2 OpenSIPS 이해 서비스 지원 admin 2024-04-09 130
1 OpenSIPS install configuration support admin 2024-04-09 127