한국어

소프트스위치

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

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


#The following is the complete route script. The general and module sections were comitted. The sections highlighted are the ones required for NAT traversal.
route{
 if (!mf_process_maxfwd_header("10")) {
 sl_send_reply("483","Too Many Hops");
 exit;
 }
 #---- NAT Detection ----#
 force_rport();
 if (nat_uac_test("18")) {
 if (method=="REGISTER")is_() {
 fix_nated_register();
 }
 else {
 fix_nated_contact();
 }
 setflag(5);
 }
 #---- Sequential requests section ----#
 if (has_totag()) {
 # sequential request withing a dialog should
 # take the path determined by record-routing
 if (loose_route()) {
 if (is_method("BYE")) {
 setflag(1); # do accounting
 setflag(3); # even if the transaction fails
 }
 else if (is_method("INVITE")) {
 record_route();
 }
 route(1);
 }
 else {
 if ( is_method("ACK") ) {
 if ( t_check_trans() ) {
 t_relay();
 exit;
 }
 else {
 exit;
 }

 }
 sl_send_reply("404","Not here");
 }
 exit;
}
 #---- initial requests section ----#
if (is_method("CANCEL")) {
 if (t_check_trans()) {
 t_relay();
 exit;
 }
 t_check_trans();
 if (!(method=="REGISTER")is_() && is_from_local()) {
 if(!allow_trusted()){
 if (!proxy_authorize("", "subscriber")) {
 proxy_challenge("", "0");
 exit;
 }
 if (!db_check_from()) {
 sl_send_reply("403","Forbidden auth ID");
 exit;
 }
 consume_credentials();
 # caller authenticated
 }
 }
 #---- preloaded route checking ----#
 if (loose_route()) {
 xlog("L_ERR","Attempt to route with preloaded Route's
 [$fu/$tu/$ru/$ci]");
 if (!is_method("ACK")) {
 sl_send_reply("403","Preload Route denied");
 exit;
 }
 }
 #---- record routing ----#
 if (!is_method("REGISTER|MESSAGE"))
 record_route();
 # account only INVITEs
 if (is_method("INVITE")) {
 setflag(1); # do accounting
 }

 #---- Routing to external domains ----#
 if (!is_uri_host_local())
 {
 append_hf("P-hint: outbound\r\n");
 if(is_uri_host_local()) {
 route(1);
 }
 else {
 sl_send_reply("403","Not here");
 }
 }
 if (is_method("PUBLISH"))
 {
 sl_send_reply("503", "Service Unavailable");
 exit;
 }
 if (is_method("REGISTER"))
 {
 # authenticate the REGISTER requests (uncomment to enable auth)
 if (!www_authorize("", "subscriber"))
 {
 www_challenge("", "0");
 exit;
 }
 if (!db_check_to())
 {
 sl_send_reply("403","Forbidden auth ID");
 exit;
 }
 #-- Request is behind NAT(flag5) save with bflag 6 -#
 #---- Use bflag 7 to start SIP pinging (Options) ---#
 if (isflagset(5)) {
 setbflag(6);
 setbflag(7);
 };
 if (!save("location")) {
 sl_reply_error();
 exit;
 }
 if ($rU==NULL) {
 # request with no Username in RURI
 sl_send_reply("484","Address Incomplete");


 exit;
 }
 # apply DB based aliases (uncomment to enable)
 alias_db_lookup("dbaliases");
 # Blind call forward
 if(avp_db_load("$ru","$avp(s:callfwd)")) {
 $ru = $avp(s:callfwd);
 #xlog("$avp(s:callfwd)");
 route(1);
 exit;
 }
 if($rU=~"^\*") {
 # Route to media servers
 route(5);
 route(1);
 }
 #Dial plan processing
 #xlog("$avp(s:country)");
 $var(sdpid)=$avp(s:country);
 $var(dpid)=$(var(sdpid){s.int});
 xlog("$var(dpid)");
 if(!dp_translate("$var(dpid)","$ruri.user/$ruri.user")){
 send_reply("420", "Invalid Destination");
 exit;
 }
 xlog("$avp(s:dest)");
 if ($avp(s:dest)=="usrloc") {
 #Route to usrloc
 route(3);
 }
 if ($avp(s:dest)=="local") {
 #route to pstn
 $var(v_pr)=$avp(s:country)+$avp(s:area);
 $ru="sip:"+$var(v_pr)+$rU+"@"+$rd;
 xlog("$ru");
 route(4);
 }
 if ($avp(s:dest)=="ld" || $avp(s:dest)=="int") {
 #route to pstn
 route(4);
 }
 if ($avp(s:dest)=="media") {
 #route to media server
 route(5);
 }
 send_reply("420", "Invalid Extension");

 exit;
}
route[1] {
 # for INVITEs enable some additional helper routes
 #---- Helper route, if nat=yes in the R-URI set flag 6 ----#
 #---- This is used to Process REINVITES ----#
 if (subst_uri('/(sip:.*);nat=yes/\1/')){
 setbflag(6);
 };
 #-- If caller(flag 5) or callee(flag 6) are behind NAT --#
 #-- Call the route(6) to force the use of the RTP Proxy --#
 if (isflagset(5)||isbflagset(6)) {
 route(6);
 };
 if (isflagset(5)){
 search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
 }
 if (is_method("INVITE")) {
 t_on_branch("2");
 t_on_reply("2");
 t_on_failure("1");
 }
 if (!t_relay()) {
 sl_reply_error();
 };
 exit;
}
#Route for user lookups
route[3]{
 if (!lookup("location", "m")) {
 switch ($retcode) {
 case -1:
 case -3:
 t_newtran();
 t_reply("404", "Not Found");
 exit;
 case -2:
 sl_send_reply("405", "Method Not Allowed");
 exit;
 }
 }
 # when routing via usrloc, log the missed calls also
 setflag(2);
 route(1);
}
route[4] {

 #---- PSTN route ----#
 if(!do_routing()){
 send_reply("503", "No rules found matching the URI prefix");
 exit;
 }
 #--- mark the transaction with flag 10 - route to pstn
 setflag(10);
 route(1);
}
route[5] {
 #---- Route to media servers ----#
 #xlog("route to media servers");
 rewritehostport("192.168.1.202:5062");
 route(1);
}
route[6] {
 #---- RTP Proxy handling ---#
 if (is_method("BYE|CANCEL")) {
 unforce_rtp_proxy();
 }
 else if (is_method("INVITE")){
 #---- Activates the RTP Proxy for the CALLEE ---#
 force_rtp_proxy();
 t_on_failure("1");
 };
}
branch_route[2] {
 xlog("new branch at $ru\n");
}
onreply_route[2] {
 #xlog("incoming reply\n");
 #---- Handling of the SDP for the 200 or 183 reply ----#
 #---- If behind nat (flags 5 or 6) start RTP Proxy ----#
 #---- Activates the RTP Proxy for the CALLER ----#
 if ((isflagset(5) || isbflagset(6)) && status=~"(183)|(2[0-9][0-
 9])"){
 force_rtp_proxy();
 append_hf("P-hint: onreply_route|force_rtp_proxy \r\n");
 }
 #---- If the CALLEE is behind NAT, fix the CONTACT HF ----#
 if (isbflagset(6)) {
 #-- Insert nat=yes at the end of the Contact header --#
 #-- This helps with REINVITEs, --#

 #- nat=yes will be included in the R-URI for seq.requests-#
 search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
 append_hf("P-hint: Onreply-route - fixcontact \r\n");
 fix_nated_contact();
 }
 exit;
}
failure_route[1] {
 #---- If a failure has ocurred, deactivate the RTP Proxy ----#
 if (isflagset(5) || isbflagset(6)){
 unforce_rtp_proxy();
 }
 if (t_was_cancelled()) {
 exit;
 }
 #- if the failure comes from a PSTN route, handle properly -#
 if(isflagset(10)){
 if (use_next_gw()) {
 xlog ("next gateway $ru \n");
 route(1);
 exit;
 }
 else {
 t_reply("503", "Service not available, no more gws");
 exit;
 }
 }
 # Redirect busy calls to a media server
 if (t_check_status("486")) {
 revert_uri();
 sethostport("192.168.1.202:5062");
 prefix("b");
 t_relay();
 }
 # Redirect unanswered calls to the media server
 if (t_check_status("480|408")) {
 revert_uri;
 sethostport("192.168.1.202:5062");
 prefix("u");
 t_relay();
 }
}

조회 수 :
42627
등록일 :
2017.12.10
14:24:20 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3312389&act=trackback&key=fdf
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3312389
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort
111 OpenSIPS 2.3 install admin 24721   2017-09-01
 
110 JsSIP: The JavaScript SIP Library admin 21031   2017-09-01
 
109 WebSocket Transport using OpenSIPS admin 24540   2017-09-01
 
108 A2Billing and OpenSIPS – Part 1 admin 32155   2017-08-29
 
107 A2Billing and OpenSIPS – Part 2 admin 34175   2017-08-29
 
106 A2Billing and OpenSIPS – Part 3 admin 21511   2017-08-29
 
105 OpenSIPS 2.3 philosophy admin 21762   2017-08-17
 
104 The timeline for OpenSIPS 2.3 is admin 22732   2017-08-17
 
103 OpenSIPS Control Panel and Homer integration admin 43223   2017-08-17
 
102 Opensips sip capture re designed admin 21390   2017-07-16
 
101 WebRTC with OpenSIPS WebSocket is a protocol provides full-duplex admin 32988   2015-04-04
 
100 WebSocket Support in OpenSIPS 2.1 admin 31675   2015-04-04
 
99 OpenSIPS 2.1 (rc) is available, download now! admin 24690   2015-03-22
 
98 Service Provision Using Asterisk & OpenSIPS - AstriCon 2014 admin 33583   2015-02-25
 
97 SIP Signaling-Messages OpenSIPS Running On Multicore Server file admin 42202   2014-11-02
 
96 opensips.cfg for Asterisk admin 37495   2014-10-20
 
95 A2Billing and OpenSIPS config admin 38351   2014-10-20
 
94 Jitsi Videobridge meets WebRTC admin 45307   2014-10-18
 
93 A Survey of Open Source Products for Building a SIP Communication Platform admin 40222   2014-10-18
 
92 Script Function , Module Index v1.11 함수 모듈 opensips admin 35950   2014-10-14
 
91 Opensips TM module enables stateful processing of SIP transactions admin 45657   2014-10-04
 
90 kamailio.cfg configuration Example admin 37166   2014-10-04
 
89 opensips NAT Traversal Module admin 37290   2014-10-02
 
88 UAC Registrant Module admin 39559   2014-09-28
 
87 MediaProxy 2.3.x & OpenSIPS 1.5.x Integration admin 40200   2014-08-24
 
86 RTPPROXY Admin Guide admin 41541   2014-08-24
 
85 CANCEL MESSAGE not handled correctly admin 39295   2014-08-23
 
84 [Sipdroid] SIP data collection study tour admin 39574   2014-08-23
 
83 [OpenSIPS-Users] Opensips 1.10 NAT radius aaa admin 36784   2014-08-23
 
82 OpenSIPS Consultancy Pricing module install Server 판매 또는 설치및 컨설팅 가이드 admin 41562   2014-08-23