FW: [Serusers] Rtpproxy & UDP
Klaus Darilion
klaus.mailinglists at pernau.at
Fri Feb 27 14:47:15 CET 2004
Shirley Toh wrote:
> Hi,
>
> Thank you for the reply.
>
> 1. Can I checked on the SIP messages Status == 200 OK, there is a <Contact:
> <sip:joo at ip:port>> field. May I know on the onreply_route what is the
> command that is control this field on the IP and Port is have the
> reply_route like below when my UA is behind the fire-wall:
> onreply_route[1] {
> if (isflagset(6) && status=~"2[0-9][0-9]") {
here you should also check for 183 early media responses
> fix_nated_contact();
> fix_nated_sdp("1");
don't do this, the sdp will be rewritten by force_rtp_proxy!
> force_rtp_proxy();
> }else{
if the reponse is not 2xx (except183), then there will be no sdp in the
response, therefore:
> fix_nated_contact();
> fix_nated_sdp("3");
fix sdp is not necessary as there are no reposnses with sdp here!
> force_rtp_proxy();
the same: no sdp, so this useless!
> }
>
also the fix_nated contact is not necessary, as you have to use
record_rout and then contact header field is not used!
but you should use force_rport for clients behind nat, so that the SIP
signalling will be forced to symmetrical.
> 2. What is function in ser.cfg is sending the UDP to the Ethereal? As when I
> have UA1 calling to UA2, I cannot see any UDP messages on the Ethereal.
> Please advice what is the command that is doing the RTP or UDP, is it
> force_rtp_proxy() or t_on_reply("1") or etc. Thanks alot......:)
>
ethereal is total independent from ser or any application. ethereal
simply sniffs all packets on the selected interface!
klaus
> p/s: kindly cc to j2xue at singnet.com.sg
>
> Regards,
> Shirley
>
>
>>-----Original Message-----
>>From: Klaus Darilion [SMTP:klaus.mailinglists at pernau.at]
>>Sent: Thursday, February 26, 2004 10:35 PM
>>To: Shirley Toh; Serusers
>>Subject: Re: FW: [Serusers] Rtpproxy
>>
>>Search the mailing list archive for configuration samples!
>>
>>regards,
>>klaus
>>
>>PS: cc to the mailing list!
>>
>>Shirley Toh wrote:
>>
>>
>>>Hi ,
>>>
>>>How about the force_rtp_proxy? Where should I appropriate apply this
>>>command? The current Nat module have no problem going through from
>>
>>Symmetric
>>
>>>Newtwork to Symmetric Network right? Thank you for your answer it really
>>>helps!!! :)
>>>
>>>Regards,
>>>Shirley
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Klaus Darilion [SMTP:klaus.mailinglists at pernau.at]
>>>>Sent: Thursday, February 26, 2004 8:18 PM
>>>>To: Shirley Toh
>>>>Cc: SER Users (E-mail)
>>>>Subject: Re: FW: [Serusers] Rtpproxy
>>>>
>>>>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