Hi,
I am trying to get SFLphone to work on my Raspberry pi. It should run
"headless" - the raspberry pi will be inside an old telephone, and this will
provide the user interface: buttons, hook contact, bell, microphone and
speaker.
I managed to get sflphoned working, and I am able to send comands to it
using the dbus. I can also capture the signals that sflphoned sends to the
dbus.
Unfortunately that is as far as I got sofar. At the moment I am stuck: I do
not
manage to connect to my SIP provider (voip planet, in the Netherlands).
When I start sflphoned it gives the following error message:
sipvoiplink.cpp:1749: Could not register account Account:1376115874
with error 403
If I ignore that and try to set up a call via the dbus, I get the following
error:
sdp.cpp:287: Failed to create initial offer
sipaccount.cpp:819: Transport not created yet
siptransport.cpp:594: Transport is NULL in findLocalAddress, using
local address raspberrypi:5060
sipvoiplink.cpp:1188: Unable to create invite session for user agent
client
I tried to find out what is going on using tshark, and I noticed that
sflphoned
is sending the following UDP packets at start up:
1) 192.168.2.1 -> 194.61.59.150 SIP 575 Request: REGISTER sip:
194.61.59.150:5060 (fetch bindings)
2) 194.61.59.150 -> 192.168.2.1 SIP 628 Status: 401 Unauthorized (0
bindings)
3) 192.168.2.1 -> 194.61.59.150 SIP 746 Request: REGISTER sip:
194.61.59.150:5060 (fetch bindings)
4) 194.61.59.150 -> 192.168.2.1 SIP 544 Status: 403 Forbidden (0
bindings)
There seems to be something wrong with the second request that sflphoned
sends out (line 3 above).
This packet looks like this (I replaced my username by xxxxx and my public
IP
address by yy.yy.yy.yy):
REGISTER sip:194.61.59.150:5060 SIP/2.0
Via: SIP/2.0/UDP
yy.yy.yy.yyy:44656;rport;branch=z9hG4bKPja422f7ee-ddea-4dc0-bba3-7a1c1876e531
Max-Forwards: 70
From: <sip:[email protected]>;tag=571b3a82-f7cd-4351-8ce1-2eba1948024f
To: <sip:[email protected]>
Call-ID:b1a26a32-e217-494a-b7aa-9df6642ece2e
CSeq: 65407 REGISTER
User-Agent: SFLphone
Contact: <sip:yy.yy.yy.yyy:44656>
Expires: 120
Allow: PRACK, SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE,
INFO, REGISTER, OPTIONS, MESSAGE
Authorization: Digest username="xxxxx", realm="voipplanet.nl",
nonce="5498a7fd",uri="sip:194.61.59.150:5060",
response="68fdce2439eedd4da4cf26b2cc335472", algorithm=MD5
Content-Length: 0
I tried the same using 3CXPhone on my PC, and there it works. The
corresponding packet looks like this:
REGISTER sip:194.61.59.150:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.2.4:2865
;branch=z9hG4bK-d8754z-3b5af3778d383339-1---d8754z-;rport
Max-Forwards: 70
Contact: <sip:[email protected]:2865;rinstance=e65263a2955c0a31>
To: "Willem"<sip:[email protected]:5060>
From: "Willem"<sip:[email protected]:5060>;tag=e8162138
Call-ID: ZWE1MzNlZTZiZWQ5N2Q0ZDRkM2I2Njg5N2NjODQ3YzY.
CSeq: 2 REGISTER
Expires: 120
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY,
REFER, INFO, MESSAGE
Supported: replaces
User-Agent: 3CXPhone 6.0.26523.0
Authorization: Digest username="xxxxx",realm="voipplanet.nl
",nonce="63c796a3",uri="sip:194.61.59.150:5060
",response="c5deac9f2a58c6af112ddd3576a8fae5",algorithm=MD5
Content-Length: 0
The most obvious differences are:
- sflphoned puts the name of my unix account ("pi") in the "From" and "To"
fields, while
3CXPhone puts my SIP username;
- sflphoned puts my external IP address into the "Via" and "Contact" field,
while
3CXPhone puts the internal IP address
But there are more differences. Does anybody have any idea how to solve
this?
For example, is there a way to get my SIP username in the "From" field,
instead
of "pi"?
Thanks,
Willem
_______________________________________________
SFLphone mailing list
[email protected]
http://lists.savoirfairelinux.net/mailman/listinfo/sflphone