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

建设局网站打不开开发安卓app

建设局网站打不开,开发安卓app,东莞网站排名优化报价,建筑方案设计说明模板# 介绍kamailio的dialog模块 kamailio的dialog模块一般有四个作用#xff1a; - 读写对话变量 - 跟uac模块配合#xff0c;完成uac trunk auth功能 - 统计early_dialogs和active_dialogs等 - 利用dialog profile实现分类统计功能或者实现呼叫限制功能 dialog模块的参数可以…# 介绍kamailio的dialog模块 kamailio的dialog模块一般有四个作用 - 读写对话变量 - 跟uac模块配合完成uac trunk auth功能 - 统计early_dialogs和active_dialogs等 - 利用dialog profile实现分类统计功能或者实现呼叫限制功能 dialog模块的参数可以配置如下 modparam(dialog, db_url, DBURL) modparam(dialog, enable_stats, 1) # 使能统计功能 modparam(dialog, db_mode, 1) modparam(dialog, dlg_flag, DLG_FLAG) # 范围是0:31 modparam(dialog, dlg_match_mode, 1) modparam(dialog, default_timeout, 43200 ) # 12小时设置dialog超时时间 modparam(dialog, track_cseq_updates, 1) modparam(dialog, profiles_no_value, total; emergency) modparam(dialog, profiles_with_value, user; type; account) 下面这段路由脚本创建对话 route[INVITE] {     if (is_method(INVITE) !has_totag()) {         setflag(DLG_FLAG); # 创建对话跟dlg_flag参数的值对应起来         # dlg_manage(); # 调用这个函数也可以创建对话     }     return; } 目前对话变量仅支持字符串类型下面这段代码可以证明这点 $dlg_var(test_i) 1; if (!pv_isset($dlg_var(test_i))) {     xerr(route run here, file$cfg(file) line$cfg(line)\n); } $dlg_var(test_s) 1; if (pv_isset($dlg_var(test_s))) {     xinfo(route run here, file$cfg(file) line$cfg(line)\n); } 我们知道avp变量仅在事务期间有效如果想在整个对话期间都有效那就需要用到对话变量了 对话变量常见的使用场景可能是写自己的话单这里给出路由脚本 route[INVITE] {     if (is_method(INVITE) !has_totag()) {         dlg_manage();         $dlg_var(SetupTime) $TS;     }     return; } event_route[dialog:start] {     $dlg_var(AnswerTime) $TS; } event_route[dialog:end] {     $dlg_var(EndTime) $TS;     $dlg_var(BillSec) (str)($dlg_var(EndTime) - $dlg_var(AnswerTime));  # 转成字符串类型     xinfo($dlg_var(BillSec)\n); $var(x) $_s({Event:Call_End, CallID:$dlg(callid), From:$dlg(from_uri), To:$dlg(to_uri), );     $var(x) $var(x) $_s(SetupTime:$dlg_var(SetupTime), AnswerTime:$dlg_var(AnswerTime), EndTime:$dlg_var(EndTime), BillSec:$dlg_var(BillSec)}); xinfo($var(x)\n);     # http post } 接下来讨论uac trunk auth流程如下 1. A - INVITE - kamailio                     B 2. A              kamailio -    INVITE     - B CSeq 3. A              kamailio -    401(7)     - B 4. A              kamailio - INVITE (auth) - B CSeq1 5. A              kamailio -      200      - B 6. A  - 200 -   kamailio 把dialog模块的track_cseq_updates参数配置为1第四步CSeq就会自动加一 模块配置和路由脚本示意如下 #!define UAC_CONTACT_ADDRESS 192.168.1.100:5060 modparam(uac, reg_db_url, DBURL) modparam(uac, reg_timer_interval, 3) modparam(uac, reg_retry_interval, 28) modparam(uac, reg_gc_interval, 30) modparam(uac, reg_contact_addr, UAC_CONTACT_ADDRESS) modparam(uac, auth_realm_avp, $avp(arealm)) modparam(uac, auth_username_avp, $avp(auser)) modparam(uac, auth_password_avp, $avp(apasswd)) modparam(uac, reg_keep_callid, 1) route[GW] {     $du sip:192.168.1.101:5060;     t_on_failure(TRUNKAUTH);     t_relay();     exit; } failure_route[TRUNKAUTH] {     if (t_is_canceled()) {         exit;     } if(t_check_status(401|407)) {         $avp(auser) test; # 实际使用时需从数据库取出用户名和密码         $avp(apasswd) test; # 同上         if (uac_auth()) {             t_relay();         }         exit;     } } 接下来我们讨论dialog自带的统计功能 enable_stats参数配置为1就可以使能了 这里有二个shell命令都可以查到dialog模块的统计 shell kamcmd stats.get_statistics all | grep dialog shell kamcmd dlg.stats_active 最后我们讨论dialog profile方面的问题 比如dialog这样配置模块参数 modparam(dialog, profiles_no_value, total; emergency) modparam(dialog, profiles_with_value, user; type; account) 那么我们这样写路由 route[INVITE] {     if (is_method(INVITE) !has_totag()) {         dlg_manage();         set_dlg_profile(total);     } route(LOCATION);     return; } 现在做一个呼叫测试6001呼叫6002 shell $kamcmd dlg.profile_get_size total 1 结果是1 下面这个命令得到的输出更加详细 shell $kamcmd dlg.profile_list total {     h_entry: 3702     h_id: 5131     ref: 2     call-id: ef6fcea66f0f40938cc3060226340f39     from_uri: sip:6002192.168.100.200     to_uri: sip:6001192.168.100.200     state: 4     start_ts: 1691650230     init_ts: 1691650229     end_ts: 0     duration: 35     timeout: 1691693429     lifetime: 43200     dflags: 1536     sflags: 0     iflags: 0     caller: {         tag: fa86e515d20348c6b217ae3bd4efcefc         contact: sip:6002192.168.100.172:61224;ob         cseq: 32127         route_set:         socket: udp:192.168.100.200:5060     }     callee: {         tag: 8CC433477696B38087EC8FFAB0858E00         contact: sip:6001192.168.100.121:5060;transportudp         cseq: 0         route_set:         socket: udp:192.168.100.200:5060     }     profiles: {         total     }     variables: {     } } 请注意variables无值 下面是进一步的说明 - set_dlg_profile(total);  # 没问题因为profiles_no_value里面已定义total - set_dlg_profile(emergency); # 没问题因为profiles_no_value里面已定义emergency - set_dlg_profile(total, $fu);  # 不行因为profiles_with_value没有定义total - set_dlg_profile(user, $fu);  # 没问题因为profiles_with_value已定义user 分类统计方面我们可以给一个例子 modparam(dialog, profiles_no_value, total; local; domestic; international) route[INVITE] {     if (is_method(INVITE) !has_totag()) {         dlg_manage();         set_dlg_profile(total); # 总的呼叫数加一         if ($tU ~ ^00) {             set_dlg_profile(international); # 国际长途呼叫数加一         } else if ($tU ~ ^0) {             set_dlg_profile(domestic); # 国内长途呼叫数加一         } else {             set_dlg_profile(local); # 本地呼叫数加一         }     } route(LOCATION);     return; } 至于如何实现呼叫限制功能网上能查到的资料非常丰富这里就不再赘述了。
http://www.w-s-a.com/news/592204/

相关文章:

  • 东营远见网站建设公司服装网站建设内容
  • 互助平台网站建设费用百度seo优化怎么做
  • lol英雄介绍网站模板工商局网上注册
  • 电商网站运营策划什么样的网站容易做seo
  • 网站备案需要什么流程怎么创建小程序卖东西
  • 陇西网站建设 室内设计持啊传媒企业推广
  • 连云港做网站制作首选公司如何让单位网站做防护
  • wordpress企业网站源码开发网站用什么工具做设计
  • 网站负责人不是法人seo神马网站推广器
  • 网站建设绩效考核方案wordpress支付宝付款
  • 高要区住房和城乡建设局网站如何网上注销自己的公司
  • 哪种技术做网站容易论文答辩图片做记录片的是哪个网站
  • 怎样在微信中做网站网站的备案号在哪
  • 返利淘网站怎么做wordpress htnl短代码
  • 网站 手机 appwordpress管理账户
  • 徐州网站建设 网站制作做招商网站的前景怎么样
  • 网站开发就业岗位鹧鸪哨网站1v1深度开发
  • 在线手机动画网站模板网站登录注册怎么做
  • 苏州品牌网站设计晋江论坛兔区是什么
  • 怎么利用代码做网站重庆网络营销网站建设销售
  • 用dw怎么做网站留言板百度举报网站
  • 成都微网站设计企业为什么要做网络营销推广
  • 双桥区网站制作企业网站一般内容包括哪些
  • 莆田外贸专业建站做app 需要先做网站吗
  • 网站怎么用北京口碑最好的装修公司
  • 潮州网站建设深圳微信分销网站设计
  • asp.net网站开发实例教程pdf泉州seo网站关键词优推广
  • 怎样建立一个企业网站dede 网站名称
  • 做网上竞彩网站合法吗免费网站建设品牌
  • 网站开发所需要的的环境客户关系管理的内涵