sip-URI(sip Uniform Resource Identifier:会话初始协议统一资源标识符)的一般格式:
sip:[userinfo@]host[:port][;transport=tcp|udp|tls|sctp][?parameters]
- sip: 协议标识符,表示这是一个SIP URI。
- userinfo@(可选):用户信息部分,通常包括用户名和(可选的)密码,两者之间用冒号分隔。在大多数情况下,出于安全考虑,密码部分会被省略。
- host:主机名或IP地址,用于标识SIP服务器或终端设备的地址。
- port(可选):端口号,用于指定服务器监听的端口。如果省略,则使用SIP协议的默认端口(通常是5060)。没有使用默认端口(5060),则需要在sip-URI中指定端口号。
- ;transport=tcp|udp|tls|sctp(可选):传输协议参数,用于指定SIP消息使用的传输协议。常见的协议包括TCP、UDP、TLS(用于加密的UDP)和SCTP。
- ?parameters(可选):查询参数部分(可以包含多个参数,每个参数之间用"&"分隔),用于传递额外的信息或选项。这些参数通常用于控制SIP会话的行为或特性(如指定媒体类型、设置会话超时时间等)。
示例:
//用户名 + host(域名)
<sip:alice@example.com>
//用户名:密码 + host(域名) + 传输协议参数
<sip:alice:secret@example.com;transport=tls>
//host(IP):port + 传输协议参数
<sip:192.168.1.100:5061;transport=udp>
//用户 + host(域名) + 查询参数(subject&超时时间)
<sip:alice@example.com?subject=Hello%20World&expires=3600>
注意:sip-URI中的userinfo部分不一定需要与From中的display-name一致。在某些情况下,如果发起者的名字与他们的SIP用户名相同,或者出于简化配置的考虑,开发者可能会选择让display-name和sip-URI中的userinfo保持一致,但这并不是SIP协议的要求。
拓展:Sip-URI和sip地址的区别和联系
区别:
- SIP-URI:SIP-URI是SIP协议中用于标识SIP用户或服务的统一资源标识符。它遵循特定的格式,通常以“sip:”或“sips:”(加密版本)开头,后面跟着用户名、主机名(或IP地址)、端口号(可选)以及可能的URI参数。具体格式类似于“sip:用户名@主机名:端口号;参数”。
- SIP地址:在更广泛的意义上,SIP地址可能指的是任何用于SIP通信的标识符,包括SIP-URI,但也可能包括其他形式的地址或标识符,如电话号码(虽然电话号码本身不是SIP-URI,但可以通过特定的转换或映射机制在SIP网络中使用)。然而,在严格意义上,SIP地址并不是一个标准的术语,其含义可能因上下文而异。
联系
- 包含关系:在大多数情况下,SIP-URI可以被视为SIP地址的一种具体形式。当提到SIP地址时,我们可能实际上是在谈论SIP-URI,因为SIP-URI是SIP协议中用于标识用户或服务的标准方式。
- 功能重叠:无论是SIP-URI还是SIP地址(在广义上理解),它们的主要功能都是为SIP通信提供唯一的标识符,唯一标识一个用户或资源。这些标识符允许SIP网络中的设备或用户能够相互识别、寻址和通信。