한국어

소프트스위치

온누리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"); } }


조회 수 :
5813
등록일 :
2023.07.27
16:20:30 (*.7.25.5)
엮인글 :
http://www.webs.co.kr/index.php?document_srl=3349444&act=trackback&key=aa0
게시글 주소 :
http://www.webs.co.kr/index.php?document_srl=3349444
List of Articles
번호 제목 글쓴이 날짜 조회 수
21 OpenSIPS vs Asterisk admin 2013-04-06 221780
20 OpenSER_from_an_asterisk_POV file admin 2013-04-06 38959
19 rfc5766-turn-server admin 2013-03-21 41421
18 OfficeSIP Server is freeware VoIP, SIP server for Windows admin 2013-09-11 54843
17 Open Source VOIP applications, both clients and servers. admin 2013-11-20 44283
16 Asterisk 에서 FreeSWITCH 전환 admin 2024-04-09 637
15 OpenSIPS 이해 서비스 지원 admin 2024-04-09 615
14 OpenSIPS install configuration support admin 2024-04-09 620
13 What is new in 1.8.0 opensip admin 2012-05-21 253938
12 opensips-cli command admin 2023-08-07 7701
11 string trans opensips admin 2023-08-05 5845
10 opensips Push Notification configuration admin 2023-07-29 5913
» opensips Call pickup configuration admin 2023-07-27 5813
8 t_relay opensips admin 2023-07-25 5728
7 debian 11 opensips 3.2 install command admin 2023-06-25 10045
6 Asterisk v1.4x built on FreeBSD v7.1 UNIX admin 2012-01-06 150750
5 SIP 트래픽 생성 테스트 툴 admin 2011-12-23 137247
4 사설 망 환경에서 SIP 의 NAT Traversal 문제 admin 2011-12-23 145380
3 the OpenSIPS Project OpenSIP admin 2011-12-14 45632
2 OpenH323 Gatekeeper - The GNU Gatekeeper admin 2011-12-14 53665
1 The FreeRADIUS Project admin 2011-12-14 44122