Hello everybody,
I am currently working on a application which I'm using to simulate a SIP phone. To simulate the sip phone, there is a script which defines what the simulated sip phone has to do. For example, send a REGISTER request to some sip proxy, to wait for a reply such as 200 OKĀ or 401 and so on. It can also wait for a REGISTER and reply with 200 OK, too.
I am quite confident that the application is working good and that its SIP stack is OK.
I decided to simulate a registrar UA, so my application is waiting in a loop for a REGISTER message send from some UA, for testing I chose Linphone 3.8.5 (with belle-sip 1.4.1). The Linphone is configured to register when it is started.
Here are the exchanged SIP messages:
REGISTER sip:localhost SIP/2.0
Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bK.yOvh9dx8a;rport
From: <sip:address@hidden>;tag=twI9oAwch
To: sip:address@hidden
CSeq: 20 REGISTER
Call-ID: fzjnlmihfM
Max-Forwards: 70
Supported: outbound
Accept: application/sdp, text/plain, application/vnd.gsma.rcs-ft-http+xml
Contact: <
sip:address@hidden:5080>;+sip.instance="<urn:uuid:6f1fa557-7a22-40a2-8933-78bcea6a9aed>"
Expires: 3600
User-Agent: Linphone/3.8.5 (belle-sip/1.4.1)
SIP/2.0 200 OK
Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bK.yOvh9dx8a;rport;received=127.0.0.1
From: <sip:address@hidden>;tag=twI9oAwch
To: sip:address@hidden;tag=0081D3BE-FE12-16C2-A48A-0100007FAA77-1
CSeq: 20 REGISTER
Call-ID: fzjnlmihfM
Expires: 500
Contact: <
sip:address@hidden:5080>;+sip.instance="<urn:uuid:6f1fa557-7a22-40a2-8933-78bcea6a9aed>";expires=500
Content-Length: 0
But after this transaction Liphone continue to send REGISTER, here is the next one:
REGISTER sip:localhost SIP/2.0
Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bK.6Nj7lM1OD;rport
From: <sip:address@hidden>;tag=twI9oAwch
To: sip:address@hidden
CSeq: 21 REGISTER
Call-ID: fzjnlmihfM
Max-Forwards: 70
Supported: outbound
Accept: application/sdp, text/plain, application/vnd.gsma.rcs-ft-http+xml
Contact: <
sip:address@hidden:5080>;+sip.instance="<urn:uuid:6f1fa557-7a22-40a2-8933-78bcea6a9aed>"
Expires: 3600
User-Agent: Linphone/3.8.5 (belle-sip/1.4.1)
SIP/2.0 200 OK
Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bK.6Nj7lM1OD;rport;received=127.0.0.1
From: <sip:address@hidden>;tag=twI9oAwch
To: sip:address@hidden;tag=0081D3BE-FE12-16C2-A48A-0100007FAA77-1
CSeq: 21 REGISTER
Call-ID: fzjnlmihfM
Expires: 500
Contact: <
sip:address@hidden:5080>;+sip.instance="<urn:uuid:6f1fa557-7a22-40a2-8933-78bcea6a9aed>";expires=500
Content-Length: 0
And Linphone continue to send such REGISTERs all the time. These REGISTERs are not sent because of a timeout. Linphone generates the second REGISTER 40 milliseconds after the first one.