当前位置: 首页 > news >正文

淘宝店做网站建设不能开直通车河西网站建设公司

淘宝店做网站建设不能开直通车,河西网站建设公司,睢县房产网站建设,做网站公司介绍pptKamailio#xff1a;调用set_contact_alias()之后#xff0c;在原有的contact的后面增加参数#xff0c;具体地说#xff0c;就是网络地址#xff0c;网络端口和transport#xff0c;好处是收到后续请求之时可以恢复原有contact的内容#xff08;当然也有坏处#xff0…Kamailio调用set_contact_alias()之后在原有的contact的后面增加参数具体地说就是网络地址网络端口和transport好处是收到后续请求之时可以恢复原有contact的内容当然也有坏处就是增加参数之后导致包大可能超过MTU OpenSIPS调用fix_nated_contact()之后用网络地址和网络端口直接覆盖了在原有的contact那么当收到后续请求时不太可能恢复原有contact的内容。窃以为一定要慎重 比如下图所示OpenSIPS就不要修改uac的contact显然如此 UAC---第三方Proxy---OpenSIPS---FreeSWITCH 参考链接 https://kb.smartvox.co.uk/opensips/nat-contact-and-via-fixing-in-sip-part-3/ 当然我们可以模仿set_contact_alias函数 route[set_contact_alias] {if (is_present_hf(contact)) {$var(sut) $si ~ $sp ~ $socket_in(proto); # 远端网络地址$var(ct) $(ct{re.subst,/^(.*)(.*)/\2/}); # 取contact 里面的内容# 更换成新的contact$var(new_ct) $var(ct) ;my_alias $var(sut) ;remove_hf(contact);insert_hf(Contact: $var(new_ct)\r\n, Call-ID);} }route[restore_contact_by_alias] {if (!has_totag()) { # 对话内请求才能调用这个路由return;}# xlog(***ru $ru, du $du\n);if ($du ! NULL) { # 如果已经设置了$du那么不能再调用这个路由return;}$var(my_alias) $(ru{nameaddr.param,my_alias});# xlog(***my_alias $var(my_alias)\n);if ($var(my_alias) ! NULL) {$var(ip) $(var(my_alias){s.select,0,~});$var(port) $(var(my_alias){s.select,1,~});$var(transport) $(var(my_alias){s.select,2,~});$var(url) sip: $var(ip) : $var(port) ;transport $var(transport);# xlog(url $var(url)\n);setdsturi($var(url));$ru $(ru{re.subst,/^(sip:.*);my_alias.*/\1/}); # 删除ru里面的my_alias以及内容 } }完整的路由脚本如下 ####### Global Parameters #########/* uncomment the following lines to enable debugging */ #debug_modeyeslog_level3 xlog_level3 stderror_enabledno syslog_enabledyes syslog_facilityLOG_LOCAL0udp_workers4/* uncomment the next line to enable the auto temporary blacklisting ofnot available destinations (default disabled) */ #disable_dns_blacklistno/* uncomment the next line to enable IPv6 lookup after IPv4 dnslookup failures (default disabled) */ #dns_try_ipv6yessocketudp:172.20.10.6:5060 # CUSTOMIZE ME sockettcp:172.20.10.6:5060 # CUSTOMIZE ME####### Modules Section #########set module path mpath/usr/lib/x86_64-linux-gnu/opensips/modules/#### SIGNALING module loadmodule signaling.so#### StateLess module loadmodule sl.so#### Transaction Module loadmodule tm.so modparam(tm, fr_timeout, 5) modparam(tm, fr_inv_timeout, 30) modparam(tm, restart_fr_on_each_reply, 0) modparam(tm, onreply_avp_mode, 1)#### Record Route Module loadmodule rr.so /* do not append from tag to the RR (no need for this script) */ modparam(rr, append_fromtag, 0)#### MAX ForWarD module loadmodule maxfwd.so#### SIP MSG OPerationS module loadmodule sipmsgops.so#### FIFO Management Interface loadmodule mi_fifo.so modparam(mi_fifo, fifo_name, /tmp/opensips_fifo) modparam(mi_fifo, fifo_mode, 0666)#### MYSQL module loadmodule db_mysql.so#### HTTPD module loadmodule httpd.so modparam(httpd, port, 8888)#### USeR LOCation module loadmodule usrloc.so modparam(usrloc, nat_bflag, NAT) modparam(usrloc, working_mode_preset, single-instance-sql-write-back) modparam(usrloc, db_url,mysql://opensips:opensipsrwlocalhost/opensips) # CUSTOMIZE ME#### REGISTRAR module loadmodule registrar.so modparam(registrar, tcp_persistent_flag, TCP_PERSISTENT) modparam(registrar, received_avp, $avp(received_nh))/* uncomment the next line not to allow more than 10 contacts per AOR */ #modparam(registrar, max_contacts, 10)#### ACCounting module loadmodule acc.so /* what special events should be accounted ? */ modparam(acc, early_media, 0) modparam(acc, report_cancels, 0) /* by default we do not adjust the direct of the sequential requests.if you enable this parameter, be sure to enable append_fromtagin rr module */ modparam(acc, detect_direction, 0)#### NAT modules loadmodule nathelper.so modparam(nathelper, natping_interval, 10) modparam(nathelper, ping_nated_only, 1) modparam(nathelper, sipping_bflag, SIP_PING_FLAG) modparam(nathelper, sipping_from, sip:pinger127.0.0.1) #CUSTOMIZE ME modparam(nathelper, received_avp, $avp(received_nh))# loadmodule rtpproxy.so # modparam(rtpproxy, rtpproxy_sock, udp:localhost:12221) # CUSTOMIZE ME#### MI_HTTP module loadmodule mi_http.soloadmodule proto_udp.so loadmodule proto_tcp.so ####### Routing Logic ######### main request routing logicroute{xlog($rm|$fU|$tU|$ci from $si:$sp\n);# initial NAT handling; detect if the request comes from behind a NAT# and apply contact fixingforce_rport();#if (nat_uac_test(23)) {if (true) {if (is_method(REGISTER)) {fix_nated_register();setbflag(NAT);} else {# fix_nated_contact();route(set_contact_alias);setflag(NAT);}}if (!mf_process_maxfwd_header(10)) {send_reply(483,Too Many Hops);exit;}if (has_totag()) {# handle hop-by-hop ACK (no routing required)if ( is_method(ACK) t_check_trans() ) {t_relay();exit;}# sequential request within a dialog should# take the path determined by record-routingif ( !loose_route() ) {# we do record-routing for all our traffic, so we should not# receive any sequential requests without Route hdr.send_reply(404,Not here);exit;}route(restore_contact_by_alias);if (is_method(BYE)) {# do accounting even if the transaction failsdo_accounting(log,failed);}if (check_route_param(natyes))setflag(NAT);# route it out to whatever destination was set by loose_route()# in $du (destination URI).route(relay);exit;}# CANCEL processingif (is_method(CANCEL)) {if (t_check_trans())t_relay();exit;}# absorb retransmissions, but do not create transactiont_check_trans();if ( !(is_method(REGISTER) ) ) {if (is_myself($fd)) {} else {# if caller is not local, then called number must be localif (!is_myself($rd)) {send_reply(403,Relay Forbidden);exit;}}}# preloaded route checkingif (loose_route()) {xlog(L_ERR,Attempt to route with preloaded Routes [$fu/$tu/$ru/$ci]);if (!is_method(ACK))send_reply(403,Preload Route denied);exit;}# record routingif (!is_method(REGISTER|MESSAGE))record_route();# account only INVITEsif (is_method(INVITE)) {do_accounting(log);}if (!is_myself($rd)) {append_hf(P-hint: outbound\r\n);route(relay);}# requests for my domainif (is_method(PUBLISH|SUBSCRIBE)) {send_reply(503, Service Unavailable);exit;}if (is_method(REGISTER)) {if ($socket_in(proto) tcp)setflag(TCP_PERSISTENT);if (isflagset(NAT)) {setbflag(SIP_PING_FLAG);}# store the registration and generate a SIP replyif (!save(location))xlog(failed to register AoR $tu\n);exit;}if ($rUNULL) {# request with no Username in RURIsend_reply(484,Address Incomplete);exit;}# do lookup with method filteringif (!lookup(location, method-filtering)) {t_reply(404, Not Found);exit;}if (isbflagset(NAT)) setflag(NAT);# when routing via usrloc, log the missed calls alsodo_accounting(log,missed);route(relay); }route[relay] {# for INVITEs enable some additional helper routesif (is_method(INVITE)) {# if (isflagset(NAT) has_body(application/sdp)) {# rtpproxy_offer(ro);# }t_on_branch(per_branch_ops);t_on_reply(handle_nat);t_on_failure(missed_call);}if (isflagset(NAT)) {add_rr_param(;natyes);}if (!t_relay()) {send_reply(500,Internal Error);}exit; }branch_route[per_branch_ops] {xlog(new branch at $ru\n); }onreply_route[handle_nat] {#if (nat_uac_test(1))# fix_nated_contact();route(set_contact_alias);# if ( isflagset(NAT) has_body(application/sdp) )# rtpproxy_answer(ro);xlog(incoming reply\n); }failure_route[missed_call] {if (t_was_cancelled()) {exit;}# uncomment the following lines if you want to block client# redirect based on 3xx replies.##if (t_check_status(3[0-9][0-9])) {##t_reply(404,Not found);## exit;##} }route[set_contact_alias] {if (is_present_hf(contact)) {$var(sut) $si ~ $sp ~ $socket_in(proto); # 远端网络地址$var(ct) $(ct{re.subst,/^(.*)(.*)/\2/}); # 取contact 里面的内容# 更换成新的contact$var(new_ct) $var(ct) ;my_alias $var(sut) ;remove_hf(contact);insert_hf(Contact: $var(new_ct)\r\n, Call-ID);} }route[restore_contact_by_alias] {if (!has_totag()) { # 对话内请求才能调用这个路由return;}# xlog(***ru $ru, du $du\n);if ($du ! NULL) { # 如果已经设置了$du那么不能再调用这个路由return;}$var(my_alias) $(ru{nameaddr.param,my_alias});# xlog(***my_alias $var(my_alias)\n);if ($var(my_alias) ! NULL) {$var(ip) $(var(my_alias){s.select,0,~});$var(port) $(var(my_alias){s.select,1,~});$var(transport) $(var(my_alias){s.select,2,~});$var(url) sip: $var(ip) : $var(port) ;transport $var(transport);# xlog(url $var(url)\n);setdsturi($var(url));$ru $(ru{re.subst,/^(sip:.*);my_alias.*/\1/}); # 删除ru里面的my_alias以及内容 } }以上脚本在OpenSIPS3.4.3上调试通过但没测试其他版本 于2024年2月8日次日即除夕 全文完
http://www.hkea.cn/news/14390487/

相关文章:

  • 网站流量的重要性怎样会展网站建设
  • 设计官网首页全域seo
  • 自己创建一个网站wordpress 背景图片
  • 福州企业网站建设网站编程脚本语言
  • wordpress模板展示网站哪个网站做的win10系统好
  • 济宁专业做优化的网站wordpress建设
  • 西安保洁公司网站建设互联网保险的风险
  • 石家庄网站开发网站项目验收确认书
  • 产品展示网站模板北京网站开发公司有哪些
  • 福州网站推广优化济宁那家做网站最好
  • 网站做一下301跳转口碑好网站建设在哪里
  • 淮北专业三合一网站开发电商联盟推广
  • 网站设计大概收费范围中国房地产信息网官网
  • 做智能网站软件下载服务好的企业网站怎么建设
  • 注册一个网站要多少钱双创网站建设
  • 什么科技网站建设wordpress传上去
  • 网站规划内容方案了解宿迁建设网站
  • 如何给网站添加cnzz站长统计功能代码的常用办法阿里巴巴网站开发是谁
  • 软件开发网站用商城系统做教育网站
  • 网站开发后端工资多少wordpress怎么改登陆不了
  • 构建网站需要会什么wordpress关键词代码
  • 时尚网站的建设策划网站建设军成
  • 网站开发需要哪些人淘宝建设网站的目的是什么意思
  • 全县网站建设情况通报网站手机微信三合一怎么做
  • 军队房地产与建设工程法律实务在哪个网站可以购买中国建设银行官企业网站
  • 品牌百度网站建设凡科
  • 公司网站文化活动备案商品网站建设方案
  • 企业三合一建站公司怎么找东莞高端网站建设收费标准
  • 网站留言功能做网站应该了解什么软件
  • 网站的排版问题业之峰和全包圆哪个好