[Serusers] Re: One Way Audio call

Jan Janak jan at iptel.org
Fri Oct 31 20:20:20 CET 2003


Hello,

You have loaded nathelper module, but you are not using any function
from the module in the script.

Since you are behind a NAT, your SIP messages will contain your private
IP address in Contact and SDP. You must change them to the public IP of
your NAT box.

Unfortunatelly nathelper will not help you much in this situation,
because it was written for servers running in the public internet.

If you need to change the IPs in the SIP messages then mangler module is
what you are looking for, but the module is very experimental and hasn't
been properly tested.

In my opinion running a SIP server in the public internet is much
better, if you can do so. If can't then you can user our public proxy at
iptel.org which already contains nathelper support and you should be
able to make and receive calls from behind your NAT without installing
any aditional server.

The symptoms you describe are correct. Because you don't change the IP
in SDP, people in the public internet send the media to your private IP
which is unroutable in the public internet and you don't hear anything.

  Jan.

On 31-10 11:03, Raymond May wrote:
> Hi, 
>    I have just installed SER on my Linux Debian
> server. It seems to work just great for users on the
> Internet calling each other ( 2 way Audio is
> successful ). However if someone calls me ( I am
> behind my SER server ) they can hear me but I can't
> hear them ( 1 way Audio ONLY ). Based on all the docs
> I've read it seems to have something to do with NAT
> and RTP ports.  My Phone connected to LAN --- SER
> Server connected to my LAN on one interface and to DSL
> Provider on the other ----  DSL Service Provider. I am
> also doing NAT/PAT on SER server. Below is my Topology
> and ser.cfg. Appreciate any feedback I get.
> 
> 
> My Phone --- SER --- Internet --- Users that register
> with my SER server. 
> 
> SER.CFG File
> #
> # $Id: ser.cfg,v 1.21.2.1 2003/07/30 16:46:18 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"
> 
> # ------------------ module loading
> ----------------------------------
> 
> # Uncomment this if you want to use SQL database
> #loadmodule "/usr/lib/ser/modules/mysql.so"
> 
> loadmodule "/usr/lib/ser/modules/sl.so"
> loadmodule "/usr/lib/ser/modules/nathelper.so"
> loadmodule "/usr/lib/ser/modules/tm.so"
> loadmodule "/usr/lib/ser/modules/rr.so"
> loadmodule "/usr/lib/ser/modules/maxfwd.so"
> loadmodule "/usr/lib/ser/modules/usrloc.so"
> loadmodule "/usr/lib/ser/modules/registrar.so"
> 
> # Uncomment this if you want digest authentication
> # mysql.so must be loaded !
> #loadmodule "/usr/lib/ser/modules/auth.so"
> #loadmodule "/usr/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)
> 
> # -------------------------  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 (len_gt( max_len )) {
>                 sl_send_reply("513", "Message too
> big");
>                 break;
>         };
> 
>         # 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") {
> 
> # Uncomment this if you want to use digest
> authentication
> #                       if
> (!www_authorize("iptel.org", "subscriber")) {
> #                              
> www_challenge("iptel.org", "0");
> #                               break;
> #                       };
> 
>                         save("location");
>                         break;
>                 };
> 
>                 # native SIP destinations are handled
> using our USRLOC DB
>                 if (!lookup("location")) {
>                         sl_send_reply("404", "Not
> Found");
>                         break;
>                 };
>         };
>         # 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();
>         };
> 
> }
> 
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Exclusive Video Premiere - Britney Spears
> http://launch.yahoo.com/promos/britneyspears/
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list