[OpenSER-Users] Problem matching GTALK with Openser

Daniel-Constantin Mierla daniel at voice-system.ro
Wed Jul 25 07:57:01 CEST 2007


Hello,

it seems that a HTTP request get's to OpenSER. Can you send ngrep output 
on port 5060?

What are the configuration options for gtalk?

Daniel


On 07/24/07 14:59, isetien001 at ikasle.ehu.es wrote:
> Hi!
>
> I have load the XMPP module to my openser configuration to integrate
> GTALK in my SIP system designed with Openser. 
>
> The XMPP module works in the 'component' mode. I have added the server
> Jabberd 2 to my system and I have checked that it works correctly with
> different Jabber clients.
>
> When I start Openser and try to connect GTALK to it I get the following
> error:
>
> 10(8016) ERROR:parse_first_line: error parsing the method
> 10(8016) ERROR:parse_first_line: bad message
> 10(8016) ERROR: parse_msg: message=<CONNECT www.google.com:443 HTTP/1.0
> User-Agent: Google Talk
> Host: www.google.com
> Content-Length: 0
> Proxy-Connection: Keep-Alive
>
>   
> 10(8016) ERROR: receive_msg: parse_msg failed
> 10(8016) ERROR: receive_msg: no via found in request
> 10(8016) ERROR: receive_msg: no via found in request
>
> Any idea of what it's wrong? 
>
> Thanks in advance!
>
> Izortze.
>
> P.D= This is my openser.cfg file:
>
>
> $Id: openser.cfg 1676 2007-02-21 13:16:34Z bogdan_iancu $
> #
> # simple quick-start config script
> # Please refer to the Core CookBook at
> http://www.openser.org/dokuwiki/doku.php
> # for a explanation of possible statements, functions and parameters.
> #
>
> # ----------- global configuration parameters ------------------------
>
> debug=3            # debug level (cmd line: -dddddddddd)
>
> fork=yes
> #log_stderror=no    # (cmd line: -E)
> children=4
>
> # Uncomment these lines to enter debugging mode
> #fork=no
> log_stderror=yes
> #
> check_via=no
> rev_dns=no
> dns=no
> port=5060
> #fifo='/tmp/openser_fifo'
>
> # uncomment the following lines for TLS support
> #disable_tls = 0
> #listen = tls:your_IP:5061
> #tls_verify_server = 1
> #tls_verify_client = 1
> #tls_require_client_certificate = 0
> #tls_method = TLSv1
> #tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
> #tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
> #tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
>
> # ------------------ module loading ----------------------------------
>
> #set module path
> mpath="/usr/local/lib/openser/modules/"
>
> # Uncomment this if you want to use SQL database
> loadmodule "mysql.so"
>
> loadmodule "sl.so"
> loadmodule "tm.so"
> loadmodule "rr.so"
> loadmodule "maxfwd.so"
> loadmodule "usrloc.so"
> loadmodule "registrar.so"
> loadmodule "textops.so"
> loadmodule "mi_fifo.so"
>
> loadmodule "xmpp.so"
>
>
> # Uncomment this if you want digest authentication
> # mysql.so must be loaded !
> #loadmodule "auth.so"
> #loadmodule "auth_db.so"
>
> # ----------------- setting module-specific parameters ---------------
>
> # -- mi_fifo params --
>
> modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
>
> # -- 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)
>
>
> #-- xmpp module parameters --
>
> modparam("xmpp","backend","component")
> modparam("xmpp","domain_separator","*")
> modparam("xmpp","gateway_domain","b001948.bi.ehu.es")
> modparam("xmpp","xmpp_domain","b001948.bi.ehu.es")
> modparam("xmpp","xmpp_password","secret")
> modparam("xmpp","xmpp_host","b001948.bi.ehu.es")
>
>
> # -------------------------  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");
>                 exit;
>         };
>        if (msg:len >=  2048 ) {
>                 sl_send_reply("513", "Message too big");
>                 exit;
>         };
>
>        # filter XMPP destinations
>       if (uri =~ "sip:.+\*b001948.bi.ehu.es at b001948.bi.ehu.es") {
>                # absorb retransmissions
>                if (!t_newtran()) {
>                                sl_reply_error();
>                                    exit;
>                }
>                # handle IM
>                if (is_method("MESSAGE")) {
>                            log("message to XMPP: from <$fu> to <$ru>\n");
>                         if (xmpp_send_message()) {
>                         sl_send_reply("202", "Accepted");
>                         } else {
>                         sl_send_reply("404", "Not found");
>                         }
>                         exit;
>                }
>                # unsupported type of SIP message
>                log("message to XMPP: method <$rm> not supported yet\n");
>                sl_send_reply("503", "Service unavailable");
>                exit;
>        }
>
>
> else {
>
>
>         # 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
>                 if (!method=="REGISTER")
>                         record_route();
>                 # subsequent messages withing a dialog should take the
>                 # path determined by record-routing
>                 if (loose_route()) {
>                         # mark routing logic in request
>                         append_hf("P-hint: rr-enforced\r\n");
>                         route(1);
>                 };
>
>                 if (!uri==myself) {
>                         # mark routing logic in request
>                         append_hf("P-hint: outbound\r\n");
>                         # if you have some interdomain connections via TLS
>                         #if(uri=~"@tls_domain1.net") {
>                         #       t_relay("tls:domain1.net");
>                         #       exit;
>                         #} else if(uri=~"@tls_domain2.net") {
>                         #       t_relay("tls:domain2.net");
>                         #       exit;
>                         #}
>                         route(1);
>                 };
>
>                 # 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("openser.org",
> "subscriber")) {
>                                 #       www_challenge("openser.org", "0");
>                                 #       exit;
>                                 #};
>
>                                 save("location");
>                                exit;
>                         };
>
>                         lookup("aliases");
>                         if (!uri==myself) {
>                                 append_hf("P-hint: outbound alias\r\n");
>                                 route(1);
>                         };
>
>                         # native SIP destinations are handled using our
> USRLOC DB
>                         if (!lookup("location")) {
>                                 sl_send_reply("404", "Not Found");
>                                 exit;
>                         };
>                         append_hf("P-hint: usrloc applied\r\n");
>                 };
>
>         route(1);
>        };
>
> }
> route[1] {
>         # send it out now; use stateful forwarding as it works reliably
>         # even for UDP2TCP
>         if (!t_relay()) {
>                 sl_reply_error();
>         };
>         exit;
> }
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>   




More information about the Users mailing list