FW: [Serusers] Rtpproxy

Klaus Darilion klaus.mailinglists at pernau.at
Thu Feb 26 13:18:26 CET 2004


start ethereal on the machine with the SIP&RTP proxy. as filter use: UDP
Then take a look at the SIP messages. The nathelper module has to 
rewrite the IP-address and the port in the SDP of the INVITE and the 200 
OK message.

klaus

Shirley Toh wrote:
> Hi, 
> 
> thank you for replying....
> 
> Yes my UA do support Symmetric. What are the things that I have to take note
> on the messages that whether the messages is properly written? And how can I
> check the IP address and port on the RTP traffic? Please help...is really
> greatly appreciated.
> 
> 
> Regards, 
> Shirley
> 
> 
>>-----Original Message-----
>>From:	Klaus Darilion [SMTP:klaus.mailinglists at pernau.at]
>>Sent:	Thursday, February 26, 2004 5:56 PM
>>To:	Shirley Toh
>>Cc:	SER Users (E-mail)
>>Subject:	Re: FW: [Serusers] Rtpproxy
>>
>>You have to provide more information. Which clients (do they support 
>>symmetric RTP?). Take a look at SIP messages when they arive at the 
>>proxy and when they are forwarded and vrify that the messages are 
>>properly rewritten by the nathelper module.
>>
>>Check if there is any RTP traffic going to the RTPproxy and if it is 
>>forwarded to the proper IP address and port.
>>
>>regards,
>>Klaus
>>
>>Shirley Toh wrote:
>>
>>
>>>Hi, 
>>>
>>>I am using the code below. When I am dialing through this scenario --->
>>>UA1(Symmetric NAT) ----> SER ---> UA2 (Symmetric NAT)
>>>. I hear no audio and I haev no error in my route. Please kindly advise
>>
>>is
>>
>>>there something missing or I need to have extra components. I am using
>>
>>CVS
>>
>>>rel_0.8.12 and latest rtpproxy!!! Help Help!!! 
>>>
>>>Regards, 
>>>Shirley
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From:	Shirley Toh 
>>>>Sent:	Wednesday, February 25, 2004 6:37 PM
>>>>To:	SER Users (E-mail)
>>>>Subject:	FW: [Serusers] Rtpproxy
>>>>
>>>>Hi 
>>>>
>>>>I have problem calling through UA behind Symmetric network? Please
>>
>>advice
>>
>>>>any solution to this problem. Thank you!!!
>>>>
>>>>UA1(Symmetric NAT) ----> SER ---> UA2 (Symmetric NAT)
>>>>
>>>>Regards, 
>>>>Shirley
>>>>-----Original Message-----
>>>>From:	Shirley Toh 
>>>>Sent:	Tuesday, February 24, 2004 9:09 PM
>>>>To:	'Jan Janak'
>>>>Subject:	RE: [Serusers] Rtpproxy
>>>>
>>>>Hi, 
>>>>
>>>>Thank you for your answer.
>>>>
>>>>Can I check the latest module in CVS does it support to call from
>>>>Symmetric network to Symmetric network?Please help. If can what sgould I
>>>>take note in the commands?
>>>>
>>>>Regards, 
>>>>Shirley
>>>>
>>>>-----Original Message-----
>>>>From:	Jan Janak [SMTP:jan at iptel.org]
>>>>Sent:	Tuesday, February 24, 2004 8:35 PM
>>>>To:	Shirley Toh
>>>>Cc:	SER Users (E-mail)
>>>>Subject:	Re: [Serusers] Rtpproxy
>>>>
>>>>You are calling force_rtp_proxy or fix_nated_sdp on a message with empty
>>>>body. Make sure that you call the functions from the script only when
>>>>the message contains SDP body (usually INVITE and 200 OK).
>>>>
>>>>Jan.
>>>>
>>>>On 24-02 11:36, Shirley Toh wrote:
>>>>
>>>>
>>>>>Hi, 
>>>>>
>>>>>Can anyone help me!! I am having this error on my log file when I try
>>
>>to
>>
>>>>>make calls. I have attached my ser.cfg. Please help!! Thanks!!
>>>>>
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20404]: ERROR:
>>>>>send_rtpp_command: can't read reply from a RTP proxy
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20413]: ERROR:
>>>>
>>>>extract_body:
>>>>
>>>>
>>>>>message body has lenght zero
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20413]: ERROR:
>>>>>force_rtp_proxy: can't extract body from the message
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20413]: ERROR: on_reply
>>>>>processing failed
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20417]: ERROR:
>>>>
>>>>extract_body:
>>>>
>>>>
>>>>>message body has lenght zero
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20417]: ERROR:
>>>>>force_rtp_proxy: can't extract body from the message
>>>>>Feb 24 11:29:54 sipserver2 /usr/local/sbin/ser[20417]: ERROR: on_reply
>>>>>processing failed
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20417]: ERROR:
>>>>
>>>>extract_body:
>>>>
>>>>
>>>>>message body has lenght zero
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20417]: ERROR:
>>>>>force_rtp_proxy: can't extract body from the message
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20417]: ERROR: on_reply
>>>>>processing failed
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20407]: ERROR:
>>>>
>>>>extract_body:
>>>>
>>>>
>>>>>message body has lenght zero
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20407]: ERROR:
>>>>
>>>>fix_nated_sdp:
>>>>
>>>>
>>>>>cannot extract body from msg!
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20407]: ERROR:
>>>>
>>>>extract_body:
>>>>
>>>>
>>>>>message body has lenght zero
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20407]: ERROR:
>>>>>force_rtp_proxy: can't extract body from the message
>>>>>Feb 24 11:30:24 sipserver2 /usr/local/sbin/ser[20407]: ERROR: on_reply
>>>>>processing failed
>>>>>
>>>>><<ser.cfg.txt>> 
>>>>>
>>>>>regards, 
>>>>>shirley
>>>>>
>>>>
>>>>>#
>>>>># $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
>>>>>#
>>>>># simple quick-start config script
>>>>>#
>>>>>
>>>>># ----------- global configuration parameters ------------------------
>>>>>
>>>>>#debug=3         # debug level (cmd line: -dddddddddd)
>>>>>#fork=yes
>>>>>#log_stderror=no        # (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"
>>>>>mhomed=yes
>>>>>
>>>>># ------------------ 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/nathelper.so"
>>>>>loadmodule "/usr/local/lib/ser/modules/textops.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"
>>>>>
>>>>># 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"
>>>>>
>>>>># ----------------- setting module-specific parameters ---------------
>>>>>
>>>>># -- usrloc params --
>>>>>
>>>>>#modparam("usrloc", "db_mode",   0)
>>>>>
>>>>># Uncomment this if you want to use SQL database
>>>>># for persistent storage and comment the previous line
>>>>>modparam("usrloc", "db_mode", 2)
>>>>>
>>>>># -- 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")
>>>>>
>>>>># -- rr params --
>>>>># add value to ;lr param to make some broken UAs happy
>>>>>modparam("rr", "enable_full_lr", 1)
>>>>>
>>>>># -- Nathelper --
>>>>>modparam("registrar" , "nat_flag", 6)
>>>>>modparam("nathelper", "natping_interval", 60)
>>>>>modparam("nathelper", "ping_nated_only", 1)
>>>>>
>>>>># -------------------------  request routing logic -------------------
>>>>>
>>>>># main routing logic
>>>>>
>>>>>route{
>>>>>
>>>>>       # initial sanity checks -- messages with
>>>>>       # max_forwards==0, or excessively long requests
>>>>>       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;
>>>>>       };
>>>>>
>>>>>
>>>>>       #!! Nathelper
>>>>>       if (nat_uac_test("3")){
>>>>>               if (method == "REGISTER"){
>>>>>                       log("LOG:Someone trying to register from
>>
>>private
>>
>>>>IP, rewriting\n");
>>>>
>>>>
>>>>>                       fix_nated_contact(); # Rewtite contact with
>>>>
>>>>source IP of signalling
>>>>
>>>>
>>>>>                       if(method== "INVITE"){
>>>>>                               fix_nated_sdp("1"); # Add
>>>>
>>>>direction-active to SDP
>>>>
>>>>
>>>>>                       };
>>>>>                       force_rport();
>>>>>                       setflag(6);
>>>>>               };
>>>>>       };
>>>>>
>>>>>       # we record-route all messages -- to make sure that
>>>>>       # subsequent messages will go through our proxy; that's
>>>>>       # particularly good if upstream and downstream entities
>>>>>       # use different transport protocol
>>>>>        record_route();
>>>>>       # loose-route processing
>>>>>       if (loose_route()) {
>>>>>               t_relay();
>>>>>               break;
>>>>>       };
>>>>>
>>>>>       # if the request is for other domain use UsrLoc
>>>>>       # (in case, it does not work, use the following command
>>>>>       # with proper names and addresses in it)
>>>>>              if (uri==myself) {
>>>>>
>>>>>               if (method=="REGISTER") {
>>>>>                       save("location");
>>>>>                       break;
>>>>>               };
>>>>>
>>>>>               # native SIP destinations are handled using our USRLOC
>>>>
>>>>DB
>>>>
>>>>
>>>>>               if (!lookup("location")) {
>>>>>                       sl_send_reply("", "Connecting");
>>>>>                       break;
>>>>>               };
>>>>>       };
>>>>>       if (isflagset(6)){
>>>>>               force_rtp_proxy();
>>>>>       };
>>>>>       t_on_reply("1");
>>>>>
>>>>>       # forward to current uri now; use stateful forwarding; that
>>>>>       # works reliably even if we forward from TCP to UDP
>>>>>       if (!t_relay()) {
>>>>>               sl_reply_error();
>>>>>               break;
>>>>>       };
>>>>>
>>>>>}
>>>>>
>>>>># all incoming replies for t_onrepli-ed transactions enter here
>>>>>onreply_route[1] {
>>>>>       if (isflagset(6) && status=~"(183)|2[0-9][0-9]") {
>>>>>               fix_nated_contact();
>>>>>               fix_nated_sdp("1");
>>>>>               force_rtp_proxy();
>>>>>       }else if(nat_uac_test("1")){
>>>>>               fix_nated_contact();
>>>>>               force_rtp_proxy();
>>>>>       };
>>>>>
>>>>>}
>>>>
>>>>>_______________________________________________
>>>>>Serusers mailing list
>>>>>serusers at lists.iptel.org
>>>>>http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
>>>_______________________________________________
>>>Serusers mailing list
>>>serusers at lists.iptel.org
>>>http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
> 
> 
> 




More information about the sr-users mailing list