什么是SIP PnP? 原理和协议流程
SIP PnPn (Plug & Play) 即插即用是简捷SIP电话终端(IP电话机/网关)支持的一种国际标准常用“自动配置”(Auto Provisioning)的方法。默认情况下,SIP电话机会向多播地址(常用IP地址是:224.0.1.75)发送 SIP SUBSCRIBE 消息(通常译作订阅消息)。任何理解该订阅消息的 SIP 服务器都可以通过包含自动配置服务器 URL地址(设置服务器 URL)的 SIP Notify消息(通常译作通知消息)进行回复,电话机收到这个回复后,就知道可以从该 URL 地址获得其配置文件。
PnP配置是出厂默认启用的,用户无需配置。
SIP PnP原理

SIP协议流程
IP电话机上电启动联网之后,会周期性的向多播地址224.0.1.75:5060发送 SIP SUBSCRIBE 消息: 在该消息的“Event”头字段中,应包含 SIP终端的⼚商,型号,版本等基本信息。
Sent to udp:224.0.1.75:5060 at 24/12/2023 00:00:19:248 (448 bytes): SUBSCRIBE sip:MAC%3a00135E874B49@192.168.3.99 SIP/2.0 Via: SIP/2.0/UDP 192.168.3.67:5060;rport From: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=658512961 To: <sip:MAC%3a00135E874B49@192.168.3.99> Call-ID: 1930770594@192.168.3.67 CSeq: 1 SUBSCRIBE Event: ua-profile;profile-type="device";vendor="OEM";model="OEM";version="7.1.19" Expires: 0 Accept: application/url Contact: <sip:192.168.3.67:5060> Content-Length: 0 |
局域网内的SIP服务器收到这个消息后,会发送一个确认消息,格式如下:
Received from udp:192.168.3.99:5060 at 24/12/2024 00:00:19:287 (480 bytes): SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.3.67:5060;rport=5060 Record-Route: <sip:127.0.0.1;lr;transport=tcp;route-id=fb4fb92b7775c2a7> Record-Route: <sip:192.168.3.99;lr;transport=UDP;route-id=fb4fb92b7775c2a7> Contact: <sip:192.168.3.99;transport=UDP;handler=dum> To: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=91955270 From: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=658512961 Call-ID: 1930770594@192.168.3.67 CSeq: 1 SUBSCRIBE Expires: 0 Content-Length: 0 |
由包含自动配置URL的SIP NOTIFY消息推送 “http://192.168.3.99/sipphone/sipphoneconfig.php?mac={mac}”:
Received from udp:192.168.3.99:5060 at 24/12/2024 00:00:19:293 (868 bytes): NOTIFY sip:192.168.3.67:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.3.99:5060;branch=z9hG4bK-d8754z-c3ea5f0e74462613-1---d8754z-;rport Via: SIP/2.0/TCP 127.0.0.1:5060;branch=z9hG4bK-d8754z-7ca96c30144f3e04-1---d8754z-;rport=40916 Max-Forwards: 20 Record-Route: <sip:192.168.3.99;lr;route-id=e3470eb400e9c0a4> Record-Route: <sip:127.0.0.1;lr;transport=TCP;route-id=e3470eb400e9c0a4> Contact: <sip:192.168.3.99;transport=TCP;handler=dum> To: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=658512961 From: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=91955270 Call-ID: 1930770594@192.168.3.67 CSeq: 3 NOTIFY Content-Type: application/urlSubscription-State: terminated;reason=timeout Event: ua-profile;profile-type="device";vendor="OEM";model="OEM";version="7.1.19" Content-Length: 5 7http://192.168.3.99/sipphone/sipphoneconfig.php?mac={mac} |
IP电话机收到这条消息并且确认:
Sent to udp:192.168.3.99:5060 at 24/12/2024 00:00:19:315 (542 bytes): SIP/2.0 200 Ok Via: SIP/2.0/UDP 192.168.3.99:5060;branch=z9hG4bK-d8754z-c3ea5f0e74462613-1---d8754z-;rport=5060 Via: SIP/2.0/TCP 127.0.0.1:5060;branch=z9hG4bK-d8754z-7ca96c30144f3e04-1---d8754z-;rport=40916 Record-Route: <sip:192.168.3.99;lr;route-id=e3470eb400e9c0a4> Record-Route: <sip:127.0.0.1;lr;transport=TCP;route-id=e3470eb400e9c0a4> From: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=91955270 To: <sip:MAC%3a00135E874B49@192.168.3.99>;tag=658512961 Call-ID: 1930770594@192.168.3.67 CSeq: 3 NOTIFY Content-Length: 0 |
在采用了PnP 自动配置后,电话机会把收到这个URL保存下来。
常见的设置界面如下:


发表回复