한국어

소프트스위치

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


조회 수 :
6294
등록일 :
2023.07.27
16:20:30 (*.7.25.5)
엮인글 :
http://webs.co.kr/index.php?document_srl=3349444&act=trackback&key=0c9
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3349444
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort
21 OfficeSIP Server is freeware VoIP, SIP server for Windows admin 55061   2013-09-11
 
20 My new toy: Bluebox-ng admin 92004   2013-04-06
 
19 Asterisk Installation Asterisk Realtime configuration admin 46303   2013-04-06
 
18 Flooding Asterisk, Freeswitch and Kamailio with Metasploit admin 101010   2013-04-06
 
17 The SIP Router Project admin 45581   2013-04-06
 
16 Kamailio :: A Quick Introduction admin 82155   2013-04-06
 
15 OpenSIPS vs Asterisk admin 222424   2013-04-06
 
14 Kamailio 3.3.x and Asterisk 10.7.0 Realtime Integration using Asterisk Database admin 52858   2013-04-06
 
13 Welcome to the Smartvox Knowledgebase admin 105321   2013-04-06
 
12 OpenSER_from_an_asterisk_POV file admin 39184   2013-04-06
 
11 Using SIP Devices behind NAT OPensip Asterisk IPPhone SIP Telephony file admin 227895   2013-03-31
 
10 rfc5766-turn-server admin 41680   2013-03-21
 
9 OpenSIPS Kick Start‎: VIDEO admin 39145   2013-02-20
 
8 OPENSIP Training VIDEO admin 37434   2013-02-20
 
7 What is new in 1.8.0 opensip admin 254559   2012-05-21
 
6 Asterisk v1.4x built on FreeBSD v7.1 UNIX admin 151326   2012-01-06
 
5 SIP 트래픽 생성 테스트 툴 admin 137703   2011-12-23
 
4 사설 망 환경에서 SIP 의 NAT Traversal 문제 admin 145903   2011-12-23
 
3 the OpenSIPS Project OpenSIP admin 45911   2011-12-14
 
2 OpenH323 Gatekeeper - The GNU Gatekeeper admin 53924   2011-12-14
 
1 The FreeRADIUS Project admin 44405   2011-12-14