Featured image of post uac_registant模块介绍

uac_registant模块介绍

介绍

uac_registant模块是把自己作为uac注册到第三方sip服务,必须使用数据库来存储自己的注册信息。 使用的表为: registrant

本次测试的opensips版本为:

opensips 3.5.3 (x86_64/linux)

配置添加

1
2
3
4
5
6
7
loadmodule "db_mysql.so"
loadmodule "uac_auth.so"
loadmodule "uac_registrant.so"
modparam("uac_registrant", "hash_size", 4)
modparam("uac_registrant", "timer_interval", 30)
modparam("uac_registrant", "failure_retry_interval", 60)
modparam("uac_registrant", "db_url", "mysql://opensips:opensipsrw@172.16.3.102/opensips")

需要注意的是: timer_interval 要小于registrant表里的expiry字段时间,否则服务启动时报错:

ERROR:uac_registrant:load_reg_info_from_db: Please decrease timer_interval=[120] - requested expires=[100] to small for AOR=[sip:1001@172.16.4.114]

添加数据库

1
insert into registrant (registrar, aor, username, password, binding_URI, expiry, forced_socket)values("sip:172.16.4.114:5060","sip:1001@172.16.4.111","1001","1234","sip:1001@172.16.4.111",300,"udp:172.16.4.111:5361");

registrar: 注册的sip服务地址

aor: From, to 字段的uri

username,password: 用户名密码

binding_URI: contact 字段

expiry: 过期时间

forced_socket: opensips发送register请求的socket地址

测试结果

opensips启动30s后,跟踪sip信令,能够看到以下信息 注册信息

总结

该模块只是把opensips以配置的用户名密码注册到第三方sip,使用场景有限,能够使用的场景有:

  1. 检测第三方sip服务是否正常
  2. 维持 NAT/防火墙穿透
本博客已稳定运行
发表了26篇文章 · 总计45.09k字
本站总访问量 次 · 您是本站第 位访问者
粤ICP备2025368587号-1| 使用 Hugo 构建
主题 StackJimmy 设计