한국어

소프트스위치

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

조회 수 :
42351
등록일 :
2017.12.10
14:24:20 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3312389&act=trackback&key=44e
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3312389
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜
81 SIP Signaling-Messages OpenSIPS Running On Multicore Server file admin 42087   2014-11-02
 
80 List of SIP response codes admin 42118   2017-12-20
 
79 Opensips Modules Documentation admin 42261   2014-08-18
 
» opensips complete configuration example admin 42351   2017-12-10
#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")) { ...  
77 Building Telephony Systems with OpenSIPS 1.6 books file admin 42516   2014-03-06
 
76 book-opensips-101 / content / 3.2. SIP TLS Secure Calling.mediawiki admin 42560   2014-03-12
 
75 2017 08 31 opensips 2.32 install debian8.8 module install compile err modules admin 42575   2017-09-04
 
74 Ekiga (formely known as GnomeMeeting) is an open source SoftPhone admin 42700   2014-03-12
 
73 OpenSIPS Module Interface admin 42793   2017-12-07
 
72 Where to check OpenSIPS does not start? admin 43066   2014-03-09
 
71 OpenSIPS Control Panel and Homer integration admin 43089   2017-08-17
 
70 MediaProxy wiki page install configuration admin 43184   2014-08-11
 
69 SIPSorcery admin 44082   2014-03-18
 
68 The FreeRADIUS Project admin 44196   2011-12-14
 
67 Open Source VOIP applications, both clients and servers. admin 44339   2013-11-20
 
66 opensips 1.11.2 install guide good 인스톨 가이드 admin 44618   2014-08-09
 
65 How to install OpenSIPS on CentOS Debian etc admin 44984   2014-03-05
 
64 Jitsi Videobridge meets WebRTC admin 45165   2014-10-18
 
63 Using TLS in OpenSIPS v2.2.x admin 45196   2017-09-14
 
62 OpenSIPS command line tricks admin 45358   2017-09-13
 
61 The SIP Router Project admin 45419   2013-04-06
 
60 Opensips TM module enables stateful processing of SIP transactions admin 45512   2014-10-04
 
59 the OpenSIPS Project OpenSIP admin 45708   2011-12-14
 
58 How to install OpenSIPS on CentOS debian module add xcap admin 45958   2014-03-06
 
57 Asterisk Installation Asterisk Realtime configuration admin 46145   2013-04-06
 
56 OpenSIPS routing logic admin 46869   2017-12-12
 
55 Using TLS in OpenSIPS v2.2.x configuration admin 47464   2017-09-04
 
54 OpenSIPS Installation Notes admin 47616   2014-08-09
 
53 Problem with presence_xml module Opensips 1.9 admin 47939   2014-03-06
 
52 Many OPENSIPS Configuration Examples This will Help you admin 49150   2014-08-23