Hi,
I've tried to trace the process with GDB. It seems a cooperation problem
between SEMS and SER. While SER sending some response to SEMS (the buffer
content is a 200 OK), the reply_addr passed to tsend_dgram() remained to all
zeros.
Is it the fault of SEMS or SER? Maybe we need more trace.
-----邮件原件-----
发件人: Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
发送时间: 2005年4月14日 22:32
收件人: Parvel
抄送: serusers(a)lists.iptel.org
主题: Re: [Serusers] tsend_dgram in tsend.c problems while RTP transffering
in SER-0.9.0
the script chunk seams ok. But judging after the text error, the problem
is not when passing the requests to SEMS (when tsend_dgram_ev() function
is used), but when the SER unix server receives a command from SEMS and
tries to send back a reply (via tsend_dgram() function).
Increase the debug level to get more info about the error context.
bogdan
Parvel wrote:
I used a soft phone to connect with the server. The SIP
messages seems OK,
the INVITE, 100, 200, ACK messages are exchanged, connection established,
G711u codec is used to transfer. But the RTP stage seems wrong. In the
sniffer only the soft phone's RTP packets are sent, but none of the
server's
response received. In the debug mode it seems the SEMS
sent the response to
socket, but the SER throw some error messages.
# ser -d -E
127.0.0.1 [127.0.0.1]:5060
0(1926) WARNING: fix_socket_list: could not rev. resolve 10.167.16.32
10.167.16.32 [10.167.16.32]:5060
127.0.0.1 [127.0.0.1]:5060
0(1926) WARNING: fix_socket_list: could not rev. resolve 10.167.16.32
10.167.16.32 [10.167.16.32]:5060
Listening on
udp: 127.0.0.1 [127.0.0.1]:5060
udp: 10.167.16.32 [10.167.16.32]:5060
tcp: 127.0.0.1 [127.0.0.1]:5060
tcp: 10.167.16.32 [10.167.16.32]:5060
Aliases:
tcp: localhost:5060
tcp: localhost.localdomain:5060
tcp: VM-Redhat:5060
udp: localhost:5060
udp: localhost.localdomain:5060
udp: VM-Redhat:5060
stateless - initializing
[root@VM-Redhat root]# 0(0) Maxfwd module- initializing
0(0) INFO: udp_init: SO_RCVBUF is initially 65535
0(0) INFO: udp_init: SO_RCVBUF is finally 131070
0(0) INFO: udp_init: SO_RCVBUF is initially 65535
0(0) INFO: udp_init: SO_RCVBUF is finally 131070
1(1929)
to:
1(1929) ERROR: tsend_dgram: failed to send: (107) Transport endpoint is
not
connected
16(1944) ERROR: tsend_dgram: failed to send: (22) Invalid argument
While sending the RTP packet, the terminate also sent some RTCP packets,
but
a ICMP port unreachable response received.
By the way, when the BYE request is sent, a first 404 response received,
then the 200 OK. Maybe the conf files are not correct?