文章标题可能表述不清,罢了,我这里描述一个场景:

当使用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服务器地址和端口的更多相关文章

  1. java发送邮件基础方法(另附部分主流邮箱服务器地址、端口及设置方法)

    java发送邮件基础方法,可通过重载简化参数 import java.io.File; import java.io.UnsupportedEncodingException; import java ...

  2. 各邮箱服务器地址及端口<转>

    gmail(google.com) POP3服务器地址:pop.gmail.com(SSL启用端口:995) SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587) 21cn.c ...

  3. 利用netsh命令设置IP地址/DNS服务器地址

    一.设置IP地址 1. 自动获取IP地址: netsh interface ip set address [name=]"本地连接" [source=]dhcp 2. 手动设置IP ...

  4. 全国各地电信DNS服务器地址

    全国各地电信DNS服务器地址 北京DNS地址:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195 上海DNS地址: ...

  5. 国内外DNS服务器地址列表

    DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址.目前国内电信运营商通过使用DNS劫持的方法,干扰用户正常上网,使得用户无法 ...

  6. 中国内地、台湾、香港、澳门和国外DNS服务器地址列表

    中国内地.台湾.香港.澳门和国外DNS服务器地址列表 详细内容 作者:网路岗 来源:局域网监控软件 DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成 ...

  7. DNS服务器地址汇总

    如果修改DNS服务器地址就可以访问google等服务,你还等什么?使用免费DNS解析服务除了去掉了运营商的各种广告,还有个最大的好处就是不会重定向或者过滤用户所访问的地址,这样就防止了很多网站被电信. ...

  8. ubuntu系统中添加DNS服务器地址后诡异消失的解决办法

    今天查看了一下自己电脑里的ubuntu14.04系统,发现无法上网,于是ping了一下百度,出现unknown host,查了一下/etc/resolv.conf中的DNS地址,却发现我之前的修改被清 ...

  9. 最新可靠好用的DNS服务器地址汇总

    如果修改DNS服务器地址就可以访问google等服务,你还等什么?使用免费DNS解析服务除了去掉了运营商的各种广告,还有个最大的好处就是不会重定向或者过滤用户所访问的地址,这样就防止了很多网站被电信. ...

随机推荐

  1. bzoj2124: 等差子序列线段树+hash

    bzoj2124: 等差子序列线段树+hash 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2124 思路 找大于3的等差数列其实就是找等于 ...

  2. Bytom合约预编译

    比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在开发合 ...

  3. 如何插入谷歌地图并获取javascript api 秘钥--Google Maps API error: MissingKeyMapError

    参考:https://blog.csdn.net/klsstt/article/details/51744866 Google Maps API error: MissingKeyMapError h ...

  4. SSM Mybatis将新增数据写入数据库时出现的500状态码:Error updating database.的可能

    关于maven下ssm整合的项目推荐这篇博客:https://www.cnblogs.com/yiye/p/5969157.html 今日在ssm下的将新增数据写回数据库时遇到不少的问题,现作记录 如 ...

  5. vxlan中vtep角色,以及通过GRE隧道进行流镜像

    1. 交换机上建立gre隧道,对端ip为ip12. 交换机上报gre隧道的OF逻辑端口port id,这里gre tunnel的id实际就是OF逻辑端口id3. 控制器建立流ipflow1的镜像配置, ...

  6. webpack简单修改版本号(单页面)

    写了一个js文件,可以尽量最简单的修改版本号 package.json配置: updateV.js放置位置: updateV.js: var fs = require('fs'); //文件读写 va ...

  7. Struts2中 Action class not found 问题

    刚学Struts2时碰到了以下两个问题,都是没有正确配置struts.xml导致的,自己记录一下: 1.浏览器报404:The origin server did not find a current ...

  8. jQuery对标签select优化:实现模糊搜索查询功能

    由于select标签中的option条数较多,翻页查询比较麻烦,需要对select标签进行优化,解决方法是通过增加模糊查询功能来提高用户体验感. 优化后的界面如下: 在实现这个优化的过程中,参考了两个 ...

  9. hdu6129 Just Do It!

    多校时找规律做过... 题意,给你一个数列a[1], a[2], a[3], a[4], ... , a[n],操作一次后变为a[1], a[1] ^ a[2], a[1] ^ a[2] ^ a[3] ...

  10. Java中Annotation用法

    其他还可以参考的地址 https://www.cnblogs.com/skywang12345/p/3344137.html Annotation Annotation其实是代码里的特殊标记,这些标记 ...