[Serusers] Messenger 4.7, CIsco and PSTN

Jiri Kuthan jiri at iptel.org
Wed Mar 5 11:29:02 CET 2003


I suspect what happens is that you forward the requests with your
server's address in its r-uri to gateway "as is" and the Cisco 
gateway would like to see its IP address in the r-uri instead.
Try rewriting r-uri -- see bellow.

As for the Messenger problem, see our doc
http://www.iptel.org/ser/doc/seruser-html/x878.html#AEN890

-Jiri

At 11:04 AM 3/5/2003, Rikard Westlund wrote:
>Hi all,
>
>I have a Ser 0.8.10-2 install on a Redhat 7.3 kernel 2.4.18-3.
>
>As clients I use Pingtel and messenger 4.7. I have followed the setup guide on
>http://www.fitawi.com/ser-Howto.html
>
>I can register the pingtel phone with no problem. I can call from the PSTN to the pingtel via a Cisco AS5300 with no problems.
>
>When i try toi call from pingtel to PSTN iget the following answer:
>
>1. from pingtel to ser - INVITE sip:<pstnnumber>@serserver_ip
>2. from ser to pingtel - Status: 100 trying
>3. from ser to cisco  -  INVITE sip:<pstnnumber>@serserver_ip
>4. from cisco to ser  -  Status: 400 bad request - ínvalid IP address'
>5. from cisco to ser  -  Status: 400 bad request - ínvalid IP address'
>
>This is my ser.cfg:
>
># $Id: ser.cfg,v 1.12 2002/10/21 02:40:06 jiri Exp $
>#
># simple quick-start config script
>#
>
># ----------- global configuration parameters ------------------------
>
>debug=4          # debug level (cmd line: -dddddddddd)
>fork=yes
>log_stderror=no # (cmd line: -E)
>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/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"
>
># ----------------- 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", "secret", "alsdkhglaksdhfkloiwr")
>modparam("auth", "calculate_ha1", yes)
>#
># If you set "calculate_ha1" parameter to yes (which true in this config),
># uncomment also the following parameter)
>#
>modparam("auth", "password_column", "password")
>
># -------------------------  request routing logic -------------------
>
># main routing logic
>
>route{
>
>        # initial sanity checks -- messages with
>        # max_forwars==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;
>        };
>
>
>        # Do strict routing if pre-loaded route headers present
>        rewriteFromRoute();
>
>        # 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("norrtull.nexus.se", "subscriber")) {
>                                www_challenge("norrtull.nexus.se", "0");
>                                break;
>                        };
>
>                        save("location");
>                        break;
>                };
>
># attempt handoff to PSTN
>
>                if (uri=~"^sip:1[0-9]*@norrtull.nexus.se") {  ##  This assumes that the caller is
>                       log("Forwarding to PSTN\n");      ##  registered in our realm


*** here *** rewrite uri prior to fwd-ing. 
                        rewritehostport("cisco_ip:5060");


>                       t_relay_to( "cisco_ip", "5060");  ##  Our Cisco router
>                       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
>        if (!t_relay()) {
>                sl_reply_error();
>        };
>
>}
>
>---------------------------------
>
>In the cisco I have the following config:
>
>!
>dail-peer voice 25 voip
>destination-pattern XXXX
>session protocol sipv2
>codec g711alaw
>no vad
>session target ipv4:serserver_ip
>!
>
>I have added 2 subscribers with the serctl command and registration is working well from pingtel. In Messenger 4.7 it's not working at all. I get 401 Unauthorized.
>
>Well I think thats about it..
>
>Please feel free to contact me if you need more information
>
>Best regards
>
>Rikard Westlund
>
>
>
>_________________________________________________________________
>Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail
>
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers

--
Jiri Kuthan            http://iptel.org/~jiri/ 




More information about the sr-users mailing list