[Serdev] nathelper and rtpproxy communications problem
Paul Winkeler
pwinkeler at pbnj-solutions.com
Fri Jan 23 05:00:20 UTC 2004
Hi all,
Just started to get nathelper and rtpproxy (PortaOne) to work and ran into a
problem where the logs showed that the nathelper module was not able to get
a response to its request for a version identifier from rtpproxy
[www.portaone.com/~sobomax/rtpproxy.tar]. As I figure it there were two
problems:
1) The rtpproxy has no clue what a version request even is
2) Unlike all the other commands sent to rtpproxy, the request for a version
identifier consists of a single 'v' character whereas al other commands are
of the form: C\n\00 where "C" is the command character.
Assuming my diagnosis is correct, here is the patch to get nathelper.c to
issue a more properly formed request for a version:
@@ -172,7 +172,7 @@
int rtpp_ver;
char *cp;
bind_usrloc_t bind_usrloc;
- struct iovec v[1] = {{"V", 1}};
+ struct iovec v[1] = {{"V\n", 3}};
In addition, the file main.c from the rtpproxy tarball needs to be modified
to include one more case in its switch statement:
case 'v':
case 'V':
len = sprintf(buf, "%s\n", "20040107");
while (write(controlfd, buf, len) == -1 && errno == EINTR);
return;
Please let me know if I am barking up the wrong tree or if I simply need to
submit my patches elsewhere.
Thanks and I look forward to contributing (more?) in the future,
PaulW
(216) 533-5708
More information about the Serdev
mailing list