I'm using SER 0.9.3 with OpenBSD 3.7 amd64.
Everything works correctly if I use normal UDP connections.
Now I have to use a TCP connection (UDP is blocked in that network). Using ngrep I see SER receives the requests ma no reply is sent. The following errors are logged:
Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send_fd: sendmsg failed on 19: Invalid argument Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send2child: send_fd failed Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: tcp_main_loop: no children available
So it seems that no TCP childrens are available but I can see them using "serctl ps":
0 10963 attendant 1 24595 fifo server 2 19807 receiver child=0 sock= 195.120.250.50:5060 3 24795 receiver child=1 sock= 195.120.250.50:5060 4 6812 receiver child=2 sock= 195.120.250.50:5060 5 27930 receiver child=3 sock= 195.120.250.50:5060 6 22186 timer 7 1034 tcp receiver 8 3296 tcp receiver 9 605 tcp receiver 10 15085 tcp receiver 11 18905 tcp main process
What could be the problem?
Thanks.
As nobody replied to this question, I'll try to rephrase it:
Is anybody able to make TCP connections with SER 0.9.3 with OpenBSD?
(that is to say the problem is specific of my installation)
Thanks.
Federico Giannici wrote:
I'm using SER 0.9.3 with OpenBSD 3.7 amd64.
Everything works correctly if I use normal UDP connections.
Now I have to use a TCP connection (UDP is blocked in that network). Using ngrep I see SER receives the requests ma no reply is sent. The following errors are logged:
Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send_fd: sendmsg failed on 19: Invalid argument Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send2child: send_fd failed Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: tcp_main_loop: no children available
So it seems that no TCP childrens are available but I can see them using "serctl ps":
0 10963 attendant 1 24595 fifo server 2 19807 receiver child=0 sock= 195.120.250.50:5060 3 24795 receiver child=1 sock= 195.120.250.50:5060 4 6812 receiver child=2 sock= 195.120.250.50:5060 5 27930 receiver child=3 sock= 195.120.250.50:5060 6 22186 timer 7 1034 tcp receiver 8 3296 tcp receiver 9 605 tcp receiver 10 15085 tcp receiver 11 18905 tcp main process
What could be the problem?
Thanks.
Hello,
Please wait till the next week, this is a question to Andrei who is currently on vacation. He will get back to you.
Jan.
On 24-08-2005 18:22, Federico Giannici wrote:
As nobody replied to this question, I'll try to rephrase it:
Is anybody able to make TCP connections with SER 0.9.3 with OpenBSD?
(that is to say the problem is specific of my installation)
Thanks.
Federico Giannici wrote:
I'm using SER 0.9.3 with OpenBSD 3.7 amd64.
Everything works correctly if I use normal UDP connections.
Now I have to use a TCP connection (UDP is blocked in that network). Using ngrep I see SER receives the requests ma no reply is sent. The following errors are logged:
Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send_fd: sendmsg failed on 19: Invalid argument Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send2child: send_fd failed Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: tcp_main_loop: no children available
So it seems that no TCP childrens are available but I can see them using "serctl ps":
0 10963 attendant 1 24595 fifo server 2 19807 receiver child=0 sock= 195.120.250.50:5060 3 24795 receiver child=1 sock= 195.120.250.50:5060 4 6812 receiver child=2 sock= 195.120.250.50:5060 5 27930 receiver child=3 sock= 195.120.250.50:5060 6 22186 timer 7 1034 tcp receiver 8 3296 tcp receiver 9 605 tcp receiver 10 15085 tcp receiver 11 18905 tcp main process
What could be the problem?
Thanks.
-- ___________________________________________________ __ |- giannici@neomedia.it |ederico Giannici http://www.neomedia.it
Presidente del cda - NEOMEDIA srl
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
On Aug 23, 2005 at 12:52, Federico Giannici giannici@neomedia.it wrote:
I'm using SER 0.9.3 with OpenBSD 3.7 amd64.
Everything works correctly if I use normal UDP connections.
Now I have to use a TCP connection (UDP is blocked in that network). Using ngrep I see SER receives the requests ma no reply is sent. The following errors are logged:
Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send_fd: sendmsg failed on 19: Invalid argument Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send2child: send_fd failed Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: tcp_main_loop: no children available
It seems there is a problem in the send_fd function which is triggered only on 64bit openbsd (it works on 32 bit openbsd 3.7 and 64 bit linux or netbsd). Unfortunately I don't have access to a 64 bit openbsd system so I can't test it myself.
I've attached a small patch. Could you apply it (patch -p0 <send_fd-test.patch) and try again?
Andrei
OK, I can confirm you that this patch solved the problem and now TCP connections to SER can be astablished!
Thank you.
P.S. The UAC can now register to the sip server but obviously no audio connection can be established because RTP is over UDP (filtered by the firewall). Now I have to study if it exists an audio stream format over TCP...
Andrei Pelinescu-Onciul wrote:
On Aug 23, 2005 at 12:52, Federico Giannici giannici@neomedia.it wrote:
I'm using SER 0.9.3 with OpenBSD 3.7 amd64.
Everything works correctly if I use normal UDP connections.
Now I have to use a TCP connection (UDP is blocked in that network). Using ngrep I see SER receives the requests ma no reply is sent. The following errors are logged:
Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send_fd: sendmsg failed on 19: Invalid argument Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: send2child: send_fd failed Aug 23 12:48:06 eowyn /usr/local/sbin/ser[16406]: ERROR: tcp_main_loop: no children available
It seems there is a problem in the send_fd function which is triggered only on 64bit openbsd (it works on 32 bit openbsd 3.7 and 64 bit linux or netbsd). Unfortunately I don't have access to a 64 bit openbsd system so I can't test it myself.
I've attached a small patch. Could you apply it (patch -p0 <send_fd-test.patch) and try again?
Andrei
Index: pass_fd.c
RCS file: /cvsroot/ser/sip_router/pass_fd.c,v retrieving revision 1.7 diff -u -r1.7 pass_fd.c --- pass_fd.c 28 Sep 2004 18:10:08 -0000 1.7 +++ pass_fd.c 30 Aug 2005 13:26:14 -0000 @@ -102,7 +102,7 @@ }control_un;
msg.msg_control=control_un.control;
- msg.msg_controllen=sizeof(control_un.control);
msg.msg_controllen=CMSG_LEN(sizeof(fd)) /*sizeof(control_un.control)*/;
cmsg=CMSG_FIRSTHDR(&msg); cmsg->cmsg_level = SOL_SOCKET;
Federico Giannici wrote:
The UAC can now register to the sip server but obviously no audio connection can be established because RTP is over UDP (filtered by the firewall). Now I have to study if it exists an audio stream format over TCP...
I don't think you really want to use TCP for realtime traffic. But IMHO the more difficult part will be to find UACs/UASs which support this.
Andy
Andreas Granig wrote:
Federico Giannici wrote:
The UAC can now register to the sip server but obviously no audio connection can be established because RTP is over UDP (filtered by the firewall). Now I have to study if it exists an audio stream format over TCP...
I don't think you really want to use TCP for realtime traffic. But IMHO the more difficult part will be to find UACs/UASs which support this.
We have an user that is behind a firewall that blocks all UDP traffic so we had to use SIP over TCP.
For the audio streams, I don't know if there is a standard protocol over TCP, but anyway it must be feasible because Skype works for him...
Bye.
On Aug 31, 2005 at 14:04, Federico Giannici giannici@neomedia.it wrote:
OK, I can confirm you that this patch solved the problem and now TCP connections to SER can be astablished!
Thanks, I've commited it on the cvs (0.9.4-rc4 has it).
Andrei