<DIV>Greger,</DIV>
<DIV> </DIV>
<DIV> How can i do with this patch ????</DIV>
<DIV> </DIV>
<DIV> Can you tell me more detail ?</DIV>
<DIV> </DIV>
<DIV> Can the patch help me to make ser behind NAT ?</DIV>
<DIV> </DIV>
<DIV>tka a lot !</DIV>
<DIV>Freeman<BR><BR><B><I>"Greger V. Teigre" <greger@teigre.com></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>> Greger,<BR>> <BR>> Sorry ! Where i can find the rtpproxy patch ????<BR>> <BR>> tks a lot !<BR>> Freeman<BR>> <BR>> "Greger V. Teigre" <greger@teigre.com> 說:<BR>> To add to Zeus' comment:<BR>> rtpproxy *cannot* run on a private IP without a patch I posted a<BR>> while back. Search the archives (warning: the patch is outdated and<BR>> must now be manually applied). <BR>> g-)<BR>> ---- Original Message ----<BR>> From: Freeman<BR>> To: serusers@lists.iptel.org<BR>> Sent: Thursday, June 30, 2005 04:48 AM<BR>> Subject: [Serusers] [Seruser] GettingStarted04 - RTPProxy Setting<BR>> Problem !<BR>> <BR>>> Hi,<BR>>>
<BR>>> I tried to follow the manual "GettingStarted 04 - 2005-05-26"<BR>>> to create ser.cfg ( for RTPProxy ), i found some error in<BR>>> "/var/log/messages",<BR>>> <BR>>> rtpproxy: Starting SER RTP Proxy server: rtpproxy<BR>>> rtpproxy: .<BR>>> rc: Starting rtpproxy: succeeded<BR>>> ser: WARNING: fix_socket_list: could not rev. resolve 192.168.10.1<BR>>> ser: WARNING: fix_socket_list: could not rev. resolve 192.168.10.1<BR>>> ser: Listening on<BR>>> ser: udp: 192.168.10.1 [192.168.10.1]:5060<BR>>> ser: tcp: 192.168.10.1 [192.168.10.1]:5060<BR>>> ser: Aliases:<BR>>> ser:<BR>>> ser: ser startup succeeded<BR>>> /usr/local/sbin/ser[2353]: Maxfwd module- initializing<BR>>>
/usr/local/sbin/ser[2353]: INFO: udp_init: SO_RCVBUF is initially<BR>>> 65535<BR>>> /usr/local/sbin/ser[2353]: INFO: udp_init: SO_RCVBUF is finally<BR>>> 131070 /usr/local/sbin/ser[2373]: INFO: fifo process starting: 2373<BR>>> /usr/local/sbin/ser[2373]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2373]: SER: open_uac_fifo: fifo server up at<BR>>> /tmp/ser_fifo...<BR>>> /usr/local/sbin/ser[2375]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2380]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2381]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2382]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2377]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2383]:
rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2389]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2353]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2388]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2387]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> /usr/local/sbin/ser[2379]: rtpp_test: RTP proxy found, support for it<BR>>> enabled<BR>>> <BR>>> I tried to test the ser in some case : ( using Windows Messenger 5.1<BR>>> and released all port for ser )<BR>>> <BR>>> 1. "User A ( outside with NAT ) call User B ( same network with ser<BR>>> )" - User A can't call User B.<BR>>> <BR>>> 2. "User B ( same network with ser ) call User A ( outsid! e with<BR>>> NAT )" - User B can call User B but
No Voice and auto hangup.<BR>>> <BR>>> 3. "User A ( outside with NAT ) call User C ( outside with NAT )"<BR>>> - User A can't call User C.<BR>>> <BR>>> I found some information in MySQL ( Database : ser , Table : location<BR>>> )<BR>>> <BR>>> username contact received<BR>>> user_a sip:192.168.1.1:7700<BR>>> sip:234.234.234.234:1568 ( public ip )<BR>>> user_b sip:192.168.10.11:7446<BR>>> sip:192.168.10.1.3112 ( private ip )<BR>>> user_c sip:192.168.2.1:15647<BR>>> sip:123.123.123.123:21144 ( public ip )<BR>>>
<BR>>> <BR>>> I tried many times, but the problem is same !<BR>>> <BR>>> <BR>>> Please help !<BR>>> <BR>>> <BR>>> tks a lot !<BR>>> Freeman<BR>>> <BR>>> _______________________________________<BR>>> 想即時收到新 email 通知?<BR>>> 下載 Yahoo! Messenger http://messenger.yahoo.com.hk<BR>>> <BR>>> <BR>>> <BR>>> _______________________________________________<BR>>> Serusers mailing list<BR>>> serusers@lists.iptel.org<BR>>> http://lists.iptel.org/mailman/listinfo/serusers<BR>> 有即時通知,收艂</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]->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]->sa_family == AF_INET) ? "" : " 6");<BR>! } else {<BR>! len += sprintf(cp, "%d %s%s\n", lport, public_ip, <BR>! (lia[0]->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>
                芺笛戙菑穻