[Serusers] public ip - private ip communication problem
Jan Janak
jan at iptel.org
Fri May 28 16:40:22 CEST 2004
There is an parse error in the logs you sent us, some Route header field
is missing < character, unfortunately the dumps do not show the message.
Locate the source of error and report it to the manufacturer.
Jan.
On 26-05 22:49, varala ramakanth wrote:
> hello friends,
>
> sorry to disturb you people again and again iam newbie
>
>
> i know ser from last two weeks only
>
> as iam suffering with this problem from last week
>
> i need help of you people i hope some body is kind
>
> enough to help me out .
>
>
> and my first scenario in simple ascii diagram
>
> public ip (estara softphone)
> /|\
> |
> |
> \|/
> SER server (public ip)
> /|\
> |
> \|/
> public ip (estara softphone)
>
> my SER server is redhat linux 9.0
>
> iam using stable version which i got through cvs
>
> and first checking with the public ip to publics ip
>
> here i could able to establish the call i.e in either
>
> side i could able to listen the voice
>
> in this iam not using any rtpproxy
> ------------------------------------------------------
>
> [root at server sbin]# ser
> Listening on
> 127.0.0.1 [127.0.0.1]:5060
> <public ip>[public ip]:5060
> Aliases: server.pol.net.in:5060 localhost:5060
> localhost.localdomain:5060
> stateless - initializing
> [root at server sbin]# Maxfwd module- initializing
> textops - 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
> 9(0) INFO: fifo process starting: 17451
> 9(17451) SER: open_uac_fifo: fifo server up at
> /tmp/ser_fifo...
> 8(17450) parse_nameaddr(): No < found
> 8(17450) parse_rr(): Error while parsing name-addr
> 8(17450) find_first_route(): Error while parsing
> Route HF
> 6(17448) parse_nameaddr(): No < found
> 6(17448) parse_rr(): Error while parsing name-addr
> 6(17448) find_first_route(): Error while parsing
> Route HF
> 6(17448) parse_nameaddr(): No < found
> 6(17448) parse_rr(): Error while parsing name-addr
> 6(17448) find_first_route(): Error while parsing
> Route HF
> 7(17449) parse_nameaddr(): No < found
> 7(17449) parse_rr(): Error while parsing name-addr
> 7(17449) find_first_route(): Error while parsing
> Route HF
> 6(17448) parse_nameaddr(): No < found
> 6(17448) parse_rr(): Error while parsing name-addr
> 6(17448) find_first_route(): Error while parsing
>
> -------------------------------------------------------
> this is the second scenario
>
> public ip (msn messenger)
> /|\
> |
> |
> \|/
> SER server (public ip)
> /|\
> |
> \|/
> DHCP server (public ip , NAT device)
> /|\
> |
> \|/
> private ip (estara softphone)
>
>
> in the terminal of ser iam gettign this
> -----------------------------------------------------
>
> [root at server sbin]# ser
> Listening on
> 127.0.0.1 [127.0.0.1]:5060
> <public ip>[public ip]:5060
> Aliases: server.pol.net.in:5060 localhost:5060
> localhost.localdomain:5060
> [root at server sbin]# stateless - initializing
> Maxfwd module- initializing
> textops - 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
> 9(0) INFO: fifo process starting: 17642
> 9(17642) SER: open_uac_fifo: fifo server up at
> /tmp/ser_fifo...
> 5(17638) parse_nameaddr(): No < found
> 5(17638) parse_rr(): Error while parsing name-addr
> 5(17638) find_first_route(): Error while parsing
> Route HF
> 8(17641) parse_nameaddr(): No < found
> 8(17641) parse_rr(): Error while parsing name-addr
> 8(17641) find_first_route(): Error while parsing
> Route HF
> 5(17638) ERROR: extract_body: message body has lenght
> zero
> 5(17638) ERROR: force_rtp_proxy: can't extract body
> from the message
> 5(17638) ERROR: on_reply processing failed
>
> -----------------------------------------------------
> here iam using the rtpproxy of version 1.4 2003/08/05
>
> ./rtpproxy -f
>
> in the terminal of rtpproxy iam getting this
> -----------------------------------------------------
> [root at server rtpproxy]# ./rtpproxy -f
> rtpproxy: new session on a port 35000
> rtpproxy: lookup on a port 35000
> rtpproxy: addr1 filled in: 202.65.128.24
> rtpproxy: addr2 filled in: 202.65.148.252
> rtpproxy: stats: 179 in from addr1, 3 in from addr2,
> 180 relayed
> rtpproxy: session on port 35000 is cleaned up
>
> ------------------------------------------------------
>
> the result is i could able to see that both mic and
>
> speaker are working and iam listening what ever public
>
> ip softphone is speaking in private ip softphone.
>
> but in public ip softphone i have seen that only
>
> mic is working not the speakers i.e i could not
>
> able to listen what ever private ip softphone is
>
> speaking
>
> i observed that one malformed sip packet is genrating
>
> thorugh the ser in tethereal
>
> so my ethereal report is
>
>
> ****************************************************
> Frame 3 (327 bytes on wire, 327 bytes captured)
> Arrival Time: May 23, 2004 20:18:03.259293000
> Time delta from previous packet: 2.401569000
> seconds
> Time relative to first packet: 2.402778000 seconds
> Frame Number: 3
> Packet Length: 327 bytes
> Capture Length: 327 bytes
> Ethernet II, Src: 00:e0:2b:90:1f:00, Dst:
> 00:e0:18:ed:04:61
> Destination: 00:e0:18:ed:04:61 (Asustek__ed:04:61)
> Source: 00:e0:2b:90:1f:00 (Extreme__90:1f:00)
> Type: IP (0x0800)
> Internet Protocol, Src Addr: 202.*.*.252 (dhcp i.e nat
> server) (202.*.*.252), Dst Addr: 202. *.*.19
> (202.*.*.19)
> Version: 4
> Header length: 20 bytes
> Differentiated Services Field: 0x00 (DSCP 0x00:
> Default; ECN: 0x00)
> 0000 00.. = Differentiated Services Codepoint:
> Default (0x00)
> .... ..0. = ECN-Capable Transport (ECT): 0
> .... ...0 = ECN-CE: 0
> Total Length: 313
> Identification: 0xf5f8
> Flags: 0x00
> .0.. = Don't fragment: Not set
> ..0. = More fragments: Not set
> Fragment offset: 0
> Time to live: 125
> Protocol: UDP (0x11)
> Header checksum: 0x9d28 (correct)
> Source: 202.*.*.252 (202.*.*.252)
> Destination: 202.*.*.19 (202.*.*.19)
> User Datagram Protocol, Src Port: 62812 (62812), Dst
> Port: 5060 (5060)
> Source port: 62812 (62812)
> Destination port: 5060 (5060)
> Length: 293
> Checksum: 0x8112 (correct)
> Session Initiation Protocol
> Request line: REGISTER sip:202.*.*.19 SIP/2.0
> Message Header
> Via: SIP/2.0/UDP 192.168.1.18:5060
> From: sip:203 at 202.*.*.19
> To: sip:203 at 202.*.*.19
> Contact: sip:203 at 192.168.1.18:5060
> Call-ID:
> e166bf60-acf2-11d8-aafe-00e01846e257 at 192.168.1.18
> CSeq: 32320301 REGISTER
> Content-Length: 0
> Expires: 3600
>
> Frame 4 (629 bytes on wire, 629 bytes captured)
> Arrival Time: May 23, 2004 20:18:03.261431000
> Time delta from previous packet: 0.002138000
> seconds
> Time relative to first packet: 2.404916000 seconds
> Frame Number: 4
> Packet Length: 629 bytes
> Capture Length: 629 bytes
> Ethernet II, Src: 00:e0:18:ed:04:61, Dst:
> 00:e0:2b:90:1f:00
> Destination: 00:e0:2b:90:1f:00 (Extreme__90:1f:00)
> Source: 00:e0:18:ed:04:61 (Asustek__ed:04:61)
> Type: IP (0x0800)
> Internet Protocol, Src Addr: 202.*.*.19 (202.*.*.19),
> Dst Addr: 202.*.*.252 (202.*.*.252)
> Version: 4
> Header length: 20 bytes
> Differentiated Services Field: 0x10 (DSCP 0x04:
> Unknown DSCP; ECN: 0x00)
> 0001 00.. = Differentiated Services Codepoint:
> Unknown (0x04)
> .... ..0. = ECN-Capable Transport (ECT): 0
> .... ...0 = ECN-CE: 0
> Total Length: 615
> Identification: 0x0000
> Flags: 0x04
> .1.. = Don't fragment: Set
> ..0. = More fragments: Not set
> Fragment offset: 0
> Time to live: 64
> Protocol: UDP (0x11)
> Header checksum: 0x8ee3 (correct)
> Source: 202.*.*.19 (202.*.*.19)
> Destination: 202.*.*.252 (202.*.*.252)
> User Datagram Protocol, Src Port: 5060 (5060), Dst
> Port: 62812 (62812)
> Source port: 5060 (5060)
> Destination port: 62812 (62812)
> Length: 595
> Checksum: 0x0d6c (correct)
> Session Initiation Protocol
> Status line: SIP/2.0 200 OK
> Message Header
> Via: SIP/2.0/UDP
> 192.168.1.18:5060;rport=62812;received=202.*.*.252
> From: sip:203 at 202.*.*.19
> To:
> sip:203 at 202.65.128.19;tag=b27e1a1d33761e85846fc98f5f3a7e58.d036
> Call-ID:
> e166bf60-acf2-11d8-aafe-00e01846e257 at 192.168.1.18
> CSeq: 32320301 REGISTER
> Status line: SIP/2.0 200 OK
> Message Header
> Via: SIP/2.0/UDP
> 192.168.1.18:5060;rport=62812;received=202.*.*.252
> From: sip:203 at 202.*.*.19
> To:
> sip:203 at 202.*.*.19;tag=b27e1a1d33761e85846fc98f5f3a7e58.d036
> Call-ID:
> e166bf60-acf2-11d8-aafe-00e01846e257 at 192.168.1.18
> CSeq: 32320301 REGISTER
> Contact:
> <sip:203 at 202.*.*.252:62812>;q=0.00;expires=3600
> Server: Sip EXpress router (0.8.12-tcp_nonb
> (i386/linux))
> Content-Length: 0
> Warning: 392 202.*.*.19:5060 "Noisy feedback
> tells: pid=17639 req_src_ip=202.*.*.252 req_src_p
> ort=62812 in_uri=sip:202.*.*.19
> out_uri=sip:202.65.128.19 via_cnt==1"
>
> Frame 5 (46 bytes on wire, 46 bytes captured)
> Arrival Time: May 23, 2004 20:18:18.476274000
> Time delta from previous packet: 15.214843000
> seconds
> Time relative to first packet: 17.619759000
> seconds
> Frame Number: 5
> Packet Length: 46 bytes
> Capture Length: 46 bytes
> Ethernet II, Src: 00:e0:18:ed:04:61, Dst:
> 00:e0:2b:90:1f:00
> Destination: 00:e0:2b:90:1f:00 (Extreme__90:1f:00)
> Source: 00:e0:18:ed:04:61 (Asustek__ed:04:61)
> Type: IP (0x0800)
> Internet Protocol, Src Addr: 202.*.*.19 (202.*.*.19),
> Dst Addr: 202.*.*.252 (202.*.*.252)
> Version: 4
> Header length: 20 bytes
> Differentiated Services Field: 0x10 (DSCP 0x04:
> Unknown DSCP; ECN: 0x00)
> 0001 00.. = Differentiated Services Codepoint:
> Unknown (0x04)
> .... ..0. = ECN-Capable Transport (ECT): 0
> Differentiated Services Field: 0x10 (DSCP 0x04:
> Unknown DSCP; ECN: 0x00)
> 0001 00.. = Differentiated Services Codepoint:
> Unknown (0x04)
> .... ..0. = ECN-Capable Transport (ECT): 0
> .... ...0 = ECN-CE: 0
> Total Length: 32
> Identification: 0x0000
> Flags: 0x04
> .1.. = Don't fragment: Set
> ..0. = More fragments: Not set
> Fragment offset: 0
> Time to live: 64
> Protocol: UDP (0x11)
> Header checksum: 0x912a (correct)
> Source: 202.*.*.19 (202.*.*.19)
> Destination: 202.*.*.252 (202.*.*.252)
> User Datagram Protocol, Src Port: 5060 (5060), Dst
> Port: 62812 (62812)
> Source port: 5060 (5060)
> Destination port: 62812 (62812)
> Length: 12
> Checksum: 0x4d22 (correct)
> [Malformed Packet: SIP]
>
> *********************************************************
> i kept * inorder to hide the public ip please pardon
> me for that
>
> ser.cfg is of klaus which he kept in the we last
>
> febaraury with some light modifications confined to my
>
>
> problem
>
> my ser.cfg is
> ******************************************************
> #
> # $Id: ser.cfg,v 1.21 2003/06/04 13:47:36 jiri Exp $
> #
> # simple quick-start config script
> #
>
> # ----------- global configuration parameters
> ------------------------
>
> debug=3 # debug level (cmd line: -dddddddddd)
> fork=yes
> log_stderror=yes # (cmd line: -E)
>
>
> # Uncomment these lines to enter debugging mode
> /*
> debug=7
> fork=no
> log_stderror=yes
> */
>
> check_via=no # (cmd. line: -v)
> dns=no # (cmd. line: -r)
> rev_dns=no # (cmd. line: -R)
> port=5060
> children=4
> fifo="/tmp/ser_fifo"
> alias=server.pol.net.in
> #------------------ module loading
> ----------------------------------
>
> # Uncomment this if you want to use SQL database
> #loadmodule "/usr/local/lib/ser/modules/mysql.so"
>
> loadmodule "/usr/local/lib/ser/modules/sl.so"
> loadmodule "/usr/local/lib/ser/modules/tm.so"
> loadmodule "/usr/local/lib/ser/modules/rr.so"
> loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
> loadmodule "/usr/local/lib/ser/modules/usrloc.so"
> loadmodule "/usr/local/lib/ser/modules/registrar.so"
> loadmodule "/usr/local/lib/ser/modules/textops.so"
>
> # Uncomment this if you want digest authentication
> # mysql.so must be loaded !
> #loadmodule "/usr/local/lib/ser/modules/auth.so"
> #loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>
> # load the voicemail module
> #loadmodule "/usr/local/lib/ser/modules/vm.so"
>
> # load the enum module
> #loadmodule "/usr/local/lib/ser/modules/enum.so"
>
> # load the group module, to verify if a user forwards
> to voicemail
> #loadmodule "/usr/local/lib/ser/modules/group.so"
>
> # load the nathelper module
> loadmodule "/usr/local/lib/ser/modules/nathelper.so"
>
> # ----------------- setting module-specific parameters
> ---------------
>
> # -- registrar parameter
> # special NAT flag indicates that a registered client
> is behind NAT
> modparam("registrar", "nat_flag", 6)
>
> # -- usrloc params --
>
> #modparam("usrloc", "db_mode", 0)
>
> # Uncomment this if you want to use SQL database
> # for persistent storage and comment the previous line
> #/
> #odparam("usrloc", "db_mode", 0)
> #modparam("usrloc", "db_url",
> "mysql://ser:XXXXXXX@localhost/ser")
>
> # -- auth params --
> # Uncomment if you are using auth module
> #
> #modparam("auth_db", "calculate_ha1", yes)
> #
> # If you set "calculate_ha1" parameter to yes (which
> true in this config),
> # uncomment also the following parameter)
> #
> #modparam("auth_db", "password_column", "password")
> #modparam("auth_db", "db_url",
> "mysql://ser:XXXXXXX@localhost/ser")
>
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy
> modparam("rr", "enable_full_lr", 1)
>
> # -- voicemail params --
> #modparam("voicemail",
> "db_url","mysql://ser:XXXXXXX@localhost/ser")
>
> # -- voicemail params --
> #modparam("group",
> "db_url","mysql://serro:XXXXXXXXX@localhost/ser")
>
> # -- nathelper params --
> modparam("nathelper", "natping_interval", 60)
> modparam("nathelper", "ping_nated_only", 1)
> modparam("tm", "fr_inv_timer", 30 )
> #/modparam("register","nat_flag",6)
> #modparam("tm", "fr_inv_timer", 8 )
>
> # ------------------------- request routing logic
> -------------------
>
> # main routing logic
>
>
>
> if (nat_uac_test("2")) {
> force_rport();
> fix_nated_contact();
> if (method=="INVITE")
> {
> fix_nated_sdp("1");
> }
> append_hf("P-hint: fixed NAT contact
> for request\r\n");
> setflag(5);
> };
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> break;
> };
> if (msg:len > max_len) {
> sl_send_reply("513", "Message too
> big");
> break;
> };
> if (loose_route()) {
> log(1, "loose_route processing\n");
> t_relay();
> break;
> };
> if (uri==myself) {
>
> if (method=="REGISTER")
> {
> if (isflagset(5)) {
> setflag(6);
>
> ...skipping 29 lines
> if (method=="INVITE")
> {
> force_rtp_proxy();
> append_hf("P-hint: request
> forced to rtp proxy\r\n");
> setflag(7);
> };
> };
> if (!t_relay()) {
> sl_reply_error();
> };
>
> }
>
> onreply_route[1] {
> if (isflagset(6)) {
> fix_nated_contact();
> append_hf("P-hint: fixed NAT contact
> for response\r\n");
> }
>
> if ( (status=~"200" || status=~"183") ) {
> if ( isflagset(7) ) {
> force_rtp_proxy();
> append_hf("P-hint: response
> forced to rtp proxy\r\n");
> };
> };
> }
>
> route[4]{
> # non-Voip -- just send "off-line"
> if (!(method == "INVITE" || method == "ACK" ||
> method == "CANCEL" || method == "REFER" || method == "
> BYE")) {
> log(1, "no
> invite,ack,cancel,refer->return 404\n");
> sl_send_reply("404", "Not Found");
> break;
> };
>
> # not voicemail subscriber and no
> echo/conference call
> if ( isflagset(4)) {
> log(1, "flag(4) active\n");
> };
> if (uri =~ "conference") {
> log(1, "conference call\n");
> };
> if (uri =~ "echo") {
> log(1, "echo call\n");
> };
> if ( !( isflagset(4) || (uri =~ "conference")
> || (uri =~ "echo") ) ) {
> log(1, "no voicemail
> subscriber->return 404");
> sl_send_reply("404", "Not Found and no
> voicemail turned on");
> break;
> };
>
> if ( isflagset(5) ) {
> log(1, "caller is
> NATed->record_route\n");
> record_route();
> log(1, " -->setting up reply
> processing ->onreply_route[1]");
> t_on_reply("1");
> if (method=="INVITE") {
> log(1, " INVITE
> request-->force_rtp_proxy");
> force_rtp_proxy();
> };
> };
>
> }
>
> ******************************************************
>
> my requirement is private to public call establishment
>
> so please kindly guide me
>
> with regards
> rama kanth
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Friends. Fun. Try the all-new Yahoo! Messenger.
> http://messenger.yahoo.com/
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
More information about the sr-users
mailing list