<DIV>Greger,</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How can i do with this patch ????</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Can you tell me more detail ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Can the patch help me to make ser behind NAT ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>tka a lot !</DIV>
<DIV>Freeman<BR><BR><B><I>"Greger V. Teigre" &lt;greger@teigre.com&gt;</I></B> 說:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<META content="MSHTML 6.00.2900.2668" name=GENERATOR>
<STYLE></STYLE>

<DIV><FONT face=Arial>It's attached. I would have posted it to bugs.sip-router.org, but rtpproxy is a separate module and should thus be created as a separate project in the bug tracking system...</FONT></DIV>
<DIV><FONT face=Arial>g-)</FONT></DIV>
<DIV>---- Original Message ----<BR>From: Freeman<BR>To: Greger V. Teigre ; serusers@lists.iptel.org<BR>Sent: Thursday, June 30, 2005 09:54 AM<BR>Subject: 標題: Re: [Serusers] [Seruser] GettingStarted04 - RTPProxy<BR>Setting Problem ! <BR><BR>&gt; Greger,<BR>&gt; <BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sorry ! Where i can find the rtpproxy patch ????<BR>&gt; <BR>&gt; tks a lot !<BR>&gt; Freeman<BR>&gt; <BR>&gt; "Greger V. Teigre" &lt;greger@teigre.com&gt; 說:<BR>&gt; To add to Zeus' comment:<BR>&gt; rtpproxy *cannot* run on a private IP without a patch I posted a<BR>&gt; while back.&nbsp; Search the archives (warning: the patch is outdated and<BR>&gt; must now be manually applied).&nbsp; <BR>&gt; g-)<BR>&gt; ---- Original Message ----<BR>&gt; From: Freeman<BR>&gt; To: serusers@lists.iptel.org<BR>&gt; Sent: Thursday, June 30, 2005 04:48 AM<BR>&gt; Subject: [Serusers] [Seruser] GettingStarted04 - RTPProxy Setting<BR>&gt; Problem !<BR>&gt; <BR>&gt;&gt; Hi,<BR>&gt;&gt;
 <BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I tried to follow the manual "GettingStarted 04 - 2005-05-26"<BR>&gt;&gt; to create ser.cfg ( for RTPProxy ), i found some error in<BR>&gt;&gt; "/var/log/messages",<BR>&gt;&gt; <BR>&gt;&gt; rtpproxy: Starting SER RTP Proxy server: rtpproxy<BR>&gt;&gt; rtpproxy: .<BR>&gt;&gt; rc: Starting rtpproxy:&nbsp; succeeded<BR>&gt;&gt; ser: WARNING: fix_socket_list: could not rev. resolve 192.168.10.1<BR>&gt;&gt; ser: WARNING: fix_socket_list: could not rev. resolve 192.168.10.1<BR>&gt;&gt; ser: Listening on<BR>&gt;&gt; ser:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; udp: 192.168.10.1 [192.168.10.1]:5060<BR>&gt;&gt; ser:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcp: 192.168.10.1 [192.168.10.1]:5060<BR>&gt;&gt; ser: Aliases:<BR>&gt;&gt; ser:<BR>&gt;&gt; ser: ser startup succeeded<BR>&gt;&gt; /usr/local/sbin/ser[2353]: Maxfwd module- initializing<BR>&gt;&gt;
 /usr/local/sbin/ser[2353]: INFO: udp_init: SO_RCVBUF is initially<BR>&gt;&gt; 65535<BR>&gt;&gt; /usr/local/sbin/ser[2353]: INFO: udp_init: SO_RCVBUF is finally<BR>&gt;&gt; 131070 /usr/local/sbin/ser[2373]: INFO: fifo process starting: 2373<BR>&gt;&gt; /usr/local/sbin/ser[2373]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2373]: SER: open_uac_fifo: fifo server up at<BR>&gt;&gt; /tmp/ser_fifo...<BR>&gt;&gt; /usr/local/sbin/ser[2375]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2380]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2381]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2382]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2377]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2383]:
 rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2389]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2353]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2388]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2387]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; /usr/local/sbin/ser[2379]: rtpp_test: RTP proxy found, support for it<BR>&gt;&gt; enabled<BR>&gt;&gt; <BR>&gt;&gt; I tried to test the ser in some case : ( using Windows Messenger 5.1<BR>&gt;&gt; and released all port for ser )<BR>&gt;&gt; <BR>&gt;&gt; 1. "User A ( outside with NAT ) call User B ( same network with ser<BR>&gt;&gt; )" -&nbsp; User A can't call User B.<BR>&gt;&gt; <BR>&gt;&gt; 2. "User B ( same network with ser ) call User A ( outsid! e with<BR>&gt;&gt; NAT )" -&nbsp; User B can call User B but
 No Voice and auto hangup.<BR>&gt;&gt; <BR>&gt;&gt; 3. "User A ( outside with NAT ) call User C ( outside with NAT )"<BR>&gt;&gt; -&nbsp; User A can't call User C.<BR>&gt;&gt; <BR>&gt;&gt; I found some information in MySQL ( Database : ser , Table : location<BR>&gt;&gt; )<BR>&gt;&gt; <BR>&gt;&gt; username&nbsp;&nbsp;&nbsp;&nbsp; contact&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; received<BR>&gt;&gt; user_a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sip:192.168.1.1:7700<BR>&gt;&gt; sip:234.234.234.234:1568 ( public ip )<BR>&gt;&gt; user_b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sip:192.168.10.11:7446<BR>&gt;&gt; sip:192.168.10.1.3112 ( private ip )<BR>&gt;&gt; user_c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sip:192.168.2.1:15647<BR>&gt;&gt; sip:123.123.123.123:21144 ( public ip )<BR>&gt;&gt;
 <BR>&gt;&gt; <BR>&gt;&gt; I tried many times, but the problem is same !<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; Please help !<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; tks a lot !<BR>&gt;&gt; Freeman<BR>&gt;&gt; <BR>&gt;&gt; _______________________________________<BR>&gt;&gt; 想即時收到新 email 通知?<BR>&gt;&gt; 下載 Yahoo! Messenger http://messenger.yahoo.com.hk<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; _______________________________________________<BR>&gt;&gt; Serusers mailing list<BR>&gt;&gt; serusers@lists.iptel.org<BR>&gt;&gt; http://lists.iptel.org/mailman/listinfo/serusers<BR>&gt; 有即時通知,收艂</DIV>*** ../rtpproxy_orig/main.c 2004-08-13 21:04:23.000000000 +0200<BR>--- ./main.c 2004-11-17 18:30:32.000000000 +0100<BR>***************<BR>*** 215,220 ****<BR>--- 215,221 ----<BR>static int umode = 0; /* UDP control mode */<BR>static const char *cmd_sock = CMD_SOCK;<BR>static const char *pid_file = PID_FILE;<BR>+ static char *public_ip = NULL;<BR><BR>/*<BR>* The first address is
 for external interface, the second one - for<BR>***************<BR>*** 916,924 ****<BR>}<BR>if (lia[0] == NULL || ishostnull(lia[0]))<BR>len += sprintf(cp, "%d\n", lport);<BR>! else<BR>! len += sprintf(cp, "%d %s%s\n", lport, addr2char(lia[0]),<BR>! (lia[0]-&gt;sa_family == AF_INET) ? "" : " 6");<BR>doreply:<BR>if (umode == 0) {<BR>write(controlfd, buf, len);<BR>--- 917,931 ----<BR>}<BR>if (lia[0] == NULL || ishostnull(lia[0]))<BR>len += sprintf(cp, "%d\n", lport);<BR>! else {<BR>! if(!public_ip) {<BR>! len += sprintf(cp, "%d %s%s\n", lport, addr2char(lia[0]),<BR>! (lia[0]-&gt;sa_family == AF_INET) ? "" : " 6");<BR>! } else {<BR>! len += sprintf(cp, "%d %s%s\n", lport, public_ip, <BR>! (lia[0]-&gt;sa_family == AF_INET) ? "" : " 6");<BR>! }<BR>! }<BR>doreply:<BR>if (umode == 0) {<BR>write(controlfd, buf, len);<BR>***************<BR>*** 999,1009 ****<BR><BR>dmode = 0;<BR><BR>! while ((ch = getopt(argc, argv, "vf2Rl:6:s:t:r:p:")) != -1)<BR>switch (ch) {<BR>case 'f':<BR>nodaemon =
 1;<BR>break;<BR><BR>case 'l':<BR>bh[0] = optarg;<BR>--- 1006,1020 ----<BR><BR>dmode = 0;<BR><BR>! while ((ch = getopt(argc, argv, "vf2Rl:6:s:t:r:p:i:")) != -1)<BR>switch (ch) {<BR>case 'f':<BR>nodaemon = 1;<BR>break;<BR>+ case 'i':<BR>+ public_ip=(char*) malloc(strlen(optarg)+1);<BR>+ strcpy(public_ip,optarg);<BR>+ break;<BR><BR>case 'l':<BR>bh[0] = optarg;<BR>***************<BR>*** 1014,1020 ****<BR>bmode = 1;<BR>}<BR>break;<BR>- <BR>case '6':<BR>bh6[0] = optarg;<BR>bh6[1] = strchr(bh6[0], '/');<BR>--- 1025,1030 ----<BR></BLOCKQUOTE><p>
                芺笛戙菑穻