[Freeswitch-users] question on handling of nonce count (nc)
Dave Horton
daveh at beachdognet.com
Sun Apr 10 11:23:08 MSD 2016
In investigating some REGISTER storms on one of my networks, I am seeing some client devices interacting with Freeswitch in a manner that can lead to excessive registration traffic.
It looks to me to be more of an endpoint problem than a freeswitch problem, but I would like confirmation of that as well as any ideas on how to handle this (i.e., throttle back this traffic).
The basic problem flow is this:
- Client sends a REGISTER with a large nc value and nonce value A
- Freeswitch replies 401 with stale=true (nonce is stale) and nonce value B
- Client sends another REGISTER with nc value incremented by 1 and nonce value A again
- Freeswitch replies 401 with stale=true (nonce is stale) and nonce value C
- Client sends another REGISTER with nc value incremented again and nonce value A again
….etc.
This seems particularly problematic with some Yealink, Communicator, and Polycomm IP Soundlink endpoint
Here is a specific example (some information redacted)
recv 804 bytes from udp/[]:5060 at 23:54:11.906859:
------------------------------------------------------------------------
REGISTER sip:x.x.x.x:5060 SIP/2.0
Authorization: Digest username="123371",realm="sip.foo.com",nonce="41adc443-57c8-4325-831e-ffd006a922d4",uri=“sip:x.x.x.x:6060",response="3a4b5f05ec1897a58865b4ba0cdb0b4d",cnonce="b5d06adf6a4c7c0592f5fc1d7766a605",nc=0000008a,qop=auth,algorithm=MD5
send 641 bytes to udp/[10.128.77.170]:5060 at 23:54:11.909722:
------------------------------------------------------------------------
SIP/2.0 401 Unauthorized
WWW-Authenticate: Digest realm=sip.foo.com", nonce="888c8919-b28f-4be4-be12-753430aafa88", stale=true, algorithm=MD5, qop=“auth”
recv 804 bytes from udp/[]:5060 at 23:54:12.007622:
------------------------------------------------------------------------
REGISTER sip:x.x.x.x:5060 SIP/2.0
Authorization: Digest username="123371",realm="sip.foo.com",nonce="41adc443-57c8-4325-831e-ffd006a922d4",uri=“sip:x.x.x.x:6060",response="556498e38d27c944f10e3a0c11a5ea41",cnonce="5585e516afcf2f95bfbc4bef11a075ee",nc=0000008b,qop=auth,algorithm=MD5
send 641 bytes to udp/[10.128.77.170]:5060 at 23:54:12.010376:
------------------------------------------------------------------------
SIP/2.0 401 Unauthorized
WWW-Authenticate: Digest realm=“sip.foo.com", nonce="1ff3b9a3-4cbb-4569-b6c7-7bee203547ac", stale=true, algorithm=MD5, qop="auth"
recv 804 bytes from udp/[10.128.77.170]:5060 at 23:54:12.108742:
------------------------------------------------------------------------
REGISTER sip:x.x.x.x:5060 SIP/2.0
Authorization: Digest username="123371",realm="sip.foo.com",nonce="41adc443-57c8-4325-831e-ffd006a922d4",uri=“sip:x.x.x.x:6060",response="9cf2360ef5f28684e667ac878362d0c0",cnonce="9833d8d3889d3ae8875e0f6f00c4d3f3",nc=0000008c,qop=auth,algorithm=MD5
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list