利用exosip DNS CACHE自定义SIP服务器地址和端口
文章标题可能表述不清,罢了,我这里描述一个场景:
当使用exosip开发UA时,服务器地址是域名example.com和端口形式,但存在两个限制:
1、example.com没有DNS记录、没有NAPTR记录,或者example.com的A记录地址不是真实的服务器地址,此时我们得自定义该地址;
2、端口不是使用默认5060端口,而是自定义的端口,比如5001,此时得显示指定UDP发送的目的端口;
如上,domain和ip地址没有A记录、NAPTR记录关系,对端端口是5001,且信令上有要求,不可显示指定port。
关于端口的更改,我在exosip里没有找到相关API,但是domain和IP的解析关系有API,使用exosip提供的DNS_CACHE机制,当然也可以手动添加DNS缓存到系统DNS记录中;
//close dns and naptr query
int val=0;
eXosip_set_option (ctx->context_eXosip, EXOSIP_OPT_DNS_CAPABILITIES, &val);
struct eXosip_dns_cache entry;
strcpy(entry.host,"example.com");strcpy(entry.ip,"10.0.0.111");
eXosip_set_option (ctx->context_eXosip, EXOSIP_OPT_ADD_DNS_CACHE , &entry);
对端端口目前没有找到相关API,我修改了exosip在so中写死了目的端口,如下:
src/eXutils.c:786
791 if(strncmp(hostname,"10.0.0.111",10)==0){strcpy(portbuf,"5001");}
792 error = getaddrinfo (hostname, portbuf, &hints, addrinfo);
如果你知道如何在exosip api中指定对端端口地址,希望能告诉我。
利用exosip DNS CACHE自定义SIP服务器地址和端口的更多相关文章
- java发送邮件基础方法(另附部分主流邮箱服务器地址、端口及设置方法)
java发送邮件基础方法,可通过重载简化参数 import java.io.File; import java.io.UnsupportedEncodingException; import java ...
- 各邮箱服务器地址及端口<转>
gmail(google.com) POP3服务器地址:pop.gmail.com(SSL启用端口:995) SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587) 21cn.c ...
- 利用netsh命令设置IP地址/DNS服务器地址
一.设置IP地址 1. 自动获取IP地址: netsh interface ip set address [name=]"本地连接" [source=]dhcp 2. 手动设置IP ...
- 全国各地电信DNS服务器地址
全国各地电信DNS服务器地址 北京DNS地址:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195 上海DNS地址: ...
- 国内外DNS服务器地址列表
DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址.目前国内电信运营商通过使用DNS劫持的方法,干扰用户正常上网,使得用户无法 ...
- 中国内地、台湾、香港、澳门和国外DNS服务器地址列表
中国内地.台湾.香港.澳门和国外DNS服务器地址列表 详细内容 作者:网路岗 来源:局域网监控软件 DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成 ...
- DNS服务器地址汇总
如果修改DNS服务器地址就可以访问google等服务,你还等什么?使用免费DNS解析服务除了去掉了运营商的各种广告,还有个最大的好处就是不会重定向或者过滤用户所访问的地址,这样就防止了很多网站被电信. ...
- ubuntu系统中添加DNS服务器地址后诡异消失的解决办法
今天查看了一下自己电脑里的ubuntu14.04系统,发现无法上网,于是ping了一下百度,出现unknown host,查了一下/etc/resolv.conf中的DNS地址,却发现我之前的修改被清 ...
- 最新可靠好用的DNS服务器地址汇总
如果修改DNS服务器地址就可以访问google等服务,你还等什么?使用免费DNS解析服务除了去掉了运营商的各种广告,还有个最大的好处就是不会重定向或者过滤用户所访问的地址,这样就防止了很多网站被电信. ...
随机推荐
- 获奖感想和python学习心得
一,获奖感想 很荣幸能成为小黄杉的获得者,也很感谢老师对我的这份鼓励和期望.回顾本学期的python学习中,我从一名对编程一无所知的小白,成为一名刚入门的程序猿.首先,我要感谢我的任课老师娄嘉鹏老师, ...
- Java基础学习-HelloWorld案例的编写和运行
一.HelloWorld案例的流程: 第一步:编写一个.java的源文件.通过Windows自带的记事本文件就可以完成. 第二步:将.java的源文件通过编译器编译生成 ...
- 【BZOJ2301】Problem B
Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...
- 微信小程序unionid获取问题
微信小程序使用login获取unionid时可能获取不到,原因可能是该微信账号没有关注小程序所在公众号等.但在微信小程序中使用微信注册,必须要用unionid注册时,大部分用户就会因此无法注册成功. ...
- 论Object.keys(), Object.getOwnPropertyNames(), for in, Object.getOwnPropertySymbol()区别
前不久,一朋友求助,让我给解释一波Object.keys(), Object.getOwnPropertyNames(), for in的区别,面试中好几次呗问了.所以,抽了点时间看了看,大概把我看的 ...
- Ceph常用命令
目录 [1.环境准备] [2.部署管理] [3.集群扩容] [4.用户管理] [5.密钥环管理] [6.块设备管理] [7.快照管理] [8.参考链接] 简要说明: 最近心血来潮,对分布式存储感兴趣, ...
- [python]windows截图
Windows截图 截图:截取屏幕任意大小图片 下载pip install Pillow from PIL import ImageGrab # x1:开始截图的x坐标 # x2:开始截图的y坐标; ...
- Linux虚拟机的三种网络连接方式
Linux虚拟机的三种网络连接方式 虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host- ...
- 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/ from:ht ...
- 记不住的Android活动的生命周期
Activity基类定义了管理一个互动的生命周期的一系列事件. Activity生命周期的一系列事件onCreate()——当前活动首次被创建时使用.onStart()——当前活动对用户可见时调用.o ...