SIP与外厂商终端对通总结

关键词:

SIPLifesize华为对通

摘要:

在使用SIP协议与外厂商终端对通过程中遇到诸多问题,特在此总结。

案例描述

为什么使用我司终端通过SIP协议呼叫华为终端IP地址呼不通?

为什么使用我司终端通过SIP协议呼叫华为终端SIP别名却是正常的?

案例分析

通过以上问题描述我们先做以下排查:

通过抓包查看我司终端通过SIP协议呼叫华为终端IP地址的呼叫过程。

通过抓包查看我司终端通过SIP协议呼叫华为终端SIP别名的呼叫过程。

1解决过程

1.1.1查看我司终端使用SIP协议呼叫华为终端的情况

我司终端通过SIP协议呼叫华为终端IP地址的呼叫过程如下:

场景说明:

KDV-H850的IP地址为192.168.60.51;华为终端的IP地址为192.168.60.100,KDV-H850主呼华为终端IP地址。

分析包走向,筛选条件为“ip.addr==192.168.60.51&&ip.addr==192.168.60.100”

wirkshark抓包

抓包结果只有TCP包,我们终端尝试了3次TCP请求,结果都被RST了?

我司终端通过SIP协议呼叫华为终端SIP别名的呼叫过程如下:

场景说明:

KDV-H900的IP地址为:192.168.73.10;华为终端的IP地址为:192.168.60.100;interworking的IP地址为:192.168.38.15

分析包走向,筛选条件为“sip”

sip条件筛选

从包信息中大约能看到有TCP包和UDP包,那就从上到下的先分析TCP包:

TCP包流

从上面的筛选条件,我们能看到SIP协议中走TCP的只有192.168.73.10(35011)<----------->192.168.38.15(5060)之间,也就是KDV-H900和interworking之间。

我们再分析UDP包:

(ip.addr eq 192.168.73.10 and ip.addr eq 192.168.60.100)

and (udp.port eq 5060 and udp.port eq 5060);备注(5060为SIP协议端口)

SIP协议

从筛选出来的UDP包中我们可以看到第一包,是KDV-H900发给华为的,也就说和华为第一次SIP建立连接是通过UDP的方式,对比第一次呼叫华为终端失败,是因为我们和华为建立连接是通过TCP的形式,那我们就有了以下结论:

结论1:华为端的5060端口只支持UDP协议监听

结论2:我们KDV-H900无论是使用IP还是SIP别买呼叫对端,首先发的是TCP包,但是呼叫SIP别名时,通过interworking的转换后变成了UDP呼叫,大约的流程如下:

第一个包:H900向interworking发送SIP的invite包(以TCP的形式),向interworking查询SIP别名对应的IP地址;

第二个包:interworking返回呼叫端的消息(以TCP的形式):包含对端IP地址(192.168.5.220),端口(5060),transport方式(UDP);

第三个包:H900将interworking返回的消息向Lifesize端请求建立会议(以UDP的形式),并成功建会。

详情见抓包的实际内容。

1.1.2查看华为终端使用SIP协议呼叫Lifesize终端的情况

为了佐证以上观点,我们继续接下来的实验,我们的实验使用的标杆是Lifesize终端,在Lifesize终端中SIP协议可以选择UDP和TCP两种方式(ps:似乎更专业)

场景前提:Lifesize的IP地址为192.168.59.123;华为终端的IP地址为192.168.60.100

场景1:Lifesize终端优选SIP协议并使用TCP,使用Lifesize呼叫华为终端的IP。

分析包走向,筛选条件为“ip.addr==192.168.59.123&&ip.addr==192.168.60.100”

“ip.addr==192.168.59.123&&ip.addr==192.168.60.100”

场景2:Lifesize终端优选SIP协议并使用TCP,使用Lifesize呼叫华为终端的SIP别名。

分析包走向,筛选条件为“SIP”

sip

分析结果:与我司终端呼叫华为的SIP别名结果一致,前面部分Lifesize与我们的interworking以TCP方式交互,后面部分Lifesize以UDP形式和华为终端交互。(PS:细心的童鞋可能发现我Lifesize明明优选的是TCP啊,为什么后面使用的都是UDP能,其实这一切都是通过interworking来进行协议转换的。)

场景3:Lifesize终端优选SIP协议并使用UDP,使用Lifesize呼叫华为终端IP。

首先我们做个怀疑看看Lifesize和华为终端之间有没有TCP连接,筛选条件”ip.addr==192.168.59.125&&ip.addr==192.168.60.100&&tcp”

ip.addr==192.168.59.125&&ip.addr==192.168.60.100&&tcp

没有任何包,嗯~可以相信Lifesize了。直接筛选“SIP”,将所有的SIP包筛选出来,且他们都是UDP的。

sip

结果是Lifesize与华为终端SIP连接成功。

场景4:Lifesize终端优选SIP协议并使用UDP,使用Lifesize呼叫华为终端SIP别名。

分析包走向,筛选条件为“SIP”

sip

结果与场景2相同。

以上四个场景同样说明了之前总结的两个结论:

结论1:华为端的5060端口只支持UDP协议监听。

结论2:我们KDV-H900无论是使用IP还是SIP别买呼叫对端,首先发的是TCP包,但是呼叫SIP别名时,通过interworking的转换后变成了UDP呼叫。

但是仔细看以上结论感觉interworking只会将呼叫SIP别名时,将包转换成UDP似的,既然Lifesize的SIP协议可以优选TCP和UDP,那我们便有了以下的标题,我司终端呼叫Lifesize。

1.1.3查看我司终端使用SIP协议呼叫Lifesize终端的情况

场景前提:KDV-H900地址为192.168.73.10,Lifesize终端地址为192.168.5.220,interworking地址为192.168.38.15

场景1:Lifesize终端SIP协议优选TCP,我司终端通过SIP协议呼叫Lifesize的SIP别名,筛选条件为“SIP”

sip

包分析:所有包的类型都是TCP的(wireshark可以通过包的颜色来区分)

场景2:Lifesize终端SIP协议优选UDP,我司终端通过SIP协议呼叫Lifesize的SIP别名,筛选条件为“SIP”

sip

这个结果和Lifesize与华为对通的场景2和场景4以及我司终端呼叫华为SIP别名是相同的。

总结这两个场景:interworking并不是盲目的将使用SIP呼叫时,一味的将TCP包转换成UDP包,而是终端在注册sipservice时,将终端的能力记在服务器中,然后再能力交互时将适当的协议类型传达下去。

2解决结果

结论1:我们KDV-H900无论是使用IP还是SIP别买呼叫对端,首先发的是TCP包,但是呼叫SIP别名时,需要通过interworking的转换,可以转换成UDP,也可以是TCP,这需要看对端和sipservice之间的协商结果。

结论2:华为端的5060端口只支持UDP协议监听。

3总结

看到上面详细的分析过程,笔者开始也是粗略的知道其中的部分过程,通过同事交流,逐字击打键盘,反复思考才得以还原,如果阅读的人发现其中还有漏洞,希望给以指教。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,903评论 1 13
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,391评论 2 57
  • 作者:Poll的笔记博客出处:http://www.cnblogs.com/maybe2030/本文版权归作者和博...
    wshxj123阅读 2,371评论 0 19
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 12,979评论 6 174
  • 1、智者学派以前的希腊哲学家的思想特点是什么? 他们都是米利都学派的自然哲学家。他们探究世界的本质,全凭猜想,没有...
    Amelieestfille阅读 1,392评论 7 7