Hi Maxim,
I made the test. There is some problems:
1. The source of RTP proxy did not compile. I replaced Makefile with
Makefile.linux. The following error message is given:
cc -o main.o -c main.c
main.c: In function `setbindhost':
main.c:83: structure has no member named `sin_len'
make: *** [main.o] Error 1
I commented line 83 in main.c and it compiled and the executive run.
2 I run ser with the example script rtpproxy.cfg (modified to work in my
network). rtpproxy is also started. I made a nat call and here is the debug
message:
0(29497) WARNING: could not rev. resolve 192.17.1.173
Listening on
192.17.1.173 [192.17.1.173]:5060
Aliases:
WARNING: no fork mode
textops - initializing
stateless - initializing
0(0) INFO: udp_init: SO_RCVBUF is initially 65535
0(0) INFO: udp_init: SO_RCVBUF is finally 131070
0(29497) ERROR: extract_mediaip: no `c=' in SDP
0(29497) ERROR: get_rtpp_port: can't read reply from a RTP proxy
0(29497) WARNING: get_body_len: Content-TYPE header absent!let's assume the
content is text/plain ;-)
0(29497) ERROR: on_reply processing failed
0(29497) WARNING: get_body_len: Content-TYPE header absent!let's assume the
content is text/plain ;-)
0(29497) ERROR: on_reply processing failed
0(29497) ERROR: extract_mediaip: no `c=' in SDP
0(29497) ERROR: get_rtpp_port: can't read reply from a RTP proxy
0(29497) ERROR: on_reply processing failed
0(29497) ERROR: extract_mediaip: no `c=' in SDP
0(29497) ERROR: get_rtpp_port: can't read reply from a RTP proxy
0(29497) WARNING: get_body_len: Content-TYPE header absent!let's assume the
content is text/plain ;-)
0(29497) ERROR: on_reply processing failed
0(29497) WARNING: get_body_len: Content-TYPE header absent!let's assume the
content is text/plain ;-)
0(29497) ERROR: on_reply processing failed
0(29497) ERROR: extract_mediaip: no `c=' in SDP
0(29497) ERROR: get_rtpp_port: can't read reply from a RTP proxy
0(29497) ERROR: on_reply processing failed
In fact, it should not work because I did not tell ser how to find
rtpproxy. But I did not find any information to do so.
3. In rtpproxy.cfg, I found the following script:
if (search("User-Agent: Cisco ATA.*")) {
setflag(1); # remember this is ATA
force_rport();
fix_nated_contact();
What force_rport() is for? And in which module is it defined?
4. There is two option or parameters for rtpproxy.
rtpproxy: usage: rtpproxy [-f] [-l address]
Is there more information about its usage other than message above?
5. In README of module nathelper, I found:
Name: fix_nated_sdp()
Params: mode - 0x01 (add direction=active), 0x02 (rewrite media IP
address with source address of the message)
Desc: Rewrites SDP body in accordance with mode flag
Example: if (search("User-Agent: Cisco ATA.*") {fix_nated_sdp(3);};
Does fix_nated_sdp(3) means direction=active and rewrite media IP address
with source address of the message? And what does direction=active means?
And:
Name: force_rtp_proxy
Params: none
So what does mean?
Your reply is so soon, Maxim.
Younger Wang
----- Original Message -----
From: "Maxim Sobolev" <sobomax(a)portaone.com>
To: <serusers(a)lists.iptel.org>
Cc: <serdev(a)lists.iptel.org>
Sent: Sunday, July 06, 2003 10:16 AM
Subject: [Serdev] nathelper updated to support RTP proxy
Folks,
Today I've updated nathelper module to support RTP proxy. It would
be nice if somebody can test it on platforms other than FreeBSD,
because I don't have an access to such boxes right now. The RTP
proxy itself can be downloaded from:
https://demo.portaone.com/~sobomax/PortaSIP/rtpproxy/
Any feedback is greatly appreciated.
-Maxim
P.S. I've committed it to the HEAD, those with 0.8.11 prerelease
please apply the following patch:
https://demo.portaone.com/~sobomax/nathelper.diff
_______________________________________________
Serdev mailing list
serdev(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serdev