SIP协议:AOR和Contact作用

sip协议交互的消息中,通常可以看到一些固定的格式,例如:

可以看到消息头中包含“From”,"To","Contact"等字段。这些是起到什么作用呢?From和To是消息交互双方使用的域名,供双方作为位置服务使用。可以通过位置服务将一个URI映射到另一个有效的URI。而Contact字段包含具体的地址,包括用户名,IP地址和端口。
AOR的格式一般是:From/To:sip<用户@域名>,其中From包含标签(tag),AOR包含的域名有时候也和contact的IP地址一样,AOR主要告诉消息接收者,当前From/To 用户的账号,位于哪个域名。所以它的作用是提供一个域名到具体IP地址的映射作用,就像我们用百度搜索时,不会在网页输入百度的具体IP地址+端口,而是使用“www.baidu.com”。
Contact的格式一般是:Contact:sip<用户uid@IP地址:端口>,加上sip实例的uuid(可选),Contact包含具体的IP地址和端口,双方可以通过这个地址和端口进行直接通信。
那么,这两者有什么联系呢?
根据SIP协议要求,AOR必须具有路由功能,可以解析出Contact,一个AOR可以对应多个Contact,在SIP信令的交互中,一个AOR不仅要在当前消息交互中有效,也必须在后续的交互中保持有效性,也就是具体路由功能。需要注意的是,因为各种原因,Contact包含的地址是随时可变的,SIP服务需要提供AOR到Contact地址的映射功能,一般来说,任何呼叫某用户的sip信令都是先访问AOR。

posted @ 2024-06-04 18:26  寒夜随风  阅读(332)  评论(0)    收藏  举报