[Serusers] Not getting ACK to Mysql when calling SIP to PSTN

Iqbal iqbal at gigo.co.uk
Wed Jul 6 20:57:02 CEST 2005


if it works for sip to sip it should work for pstn cause ser doesnt
really care where it comes from just processes the message.

Is the ACK being sent back to ser, is the actual call successful to pstn

Iqbal

On 6/25/2005, "Pablo Bertuzzi" <pablob at ccdcom.net> wrote:

>Hello, i am runing ser 0.10.99-dev8 and 0.8.14 on a
>different machine.
>When calling from a sip device (Linksys RT31P2) to
>PSTN (Cisco 5300), the ACK message is not logged to
>mysql. Only INVITEs (without 200 status) and BYEs are
>logged.
>
>The other scenarios sip to sip and pstn to sip, log
>all the messages i need. (INVITE 200, ACK and BYE)
>
>I am sure there is something missing in ser.cfg.
>
>Any clue on what i am doing wrong??
>
>Kind regards, Pablo.
>
>
># ------------------ module loading ----------------------------------
>
>
>loadmodule "/usr/local/lib/ser/modules/mysql.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"
>loadmodule "/usr/local/lib/ser/modules/textops.so"
>loadmodule "/usr/local/lib/ser/modules/auth.so"
>loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>loadmodule "/usr/local/lib/ser/modules/acc.so"
>
># ----------------- setting module-specific parameters ---------------
>
># -- usrloc params --
>modparam("usrloc", "db_mode", 2)
>
># -- auth params --
>modparam("auth_db", "calculate_ha1", yes)
>modparam("auth_db", "password_column", "password")
>
># -- rr params --
>modparam("rr", "enable_full_lr", 1)
>
># -- acc params --
>modparam("acc", "db_flag", 1)
>modparam("acc", "report_cancels", 1)
>modparam("acc", "report_ack", 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;
>        };
>
>        # 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 (method=="INVITE" || method=="BYE" || method=="ACK") {
>                setflag(1);
>        };
>
>        if (loose_route()) {
>                # mark routing logic in request
>                append_hf("P-hint: rr-enforced\r\n");
>                route(1);
>                break;
>        };
>
>        if (!uri==myself) {
>                # mark routing logic in request
>                append_hf("P-hint: outbound\r\n");
>                route(1);
>                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 (src_ip==66.100.100.70 and method=="INVITE") { ## Calls from PSTN
>                        forward(uri:host, uri:port);              ##
>                        break;                                    ##
>                };
>
>
>
>                if (method=="REGISTER") {
>
># Uncomment this if you want to use digest authentication
>                        if (!www_authorize("66.100.100.73", "subscriber")) {
>                                www_challenge("66.100.100.73", "0");
>                                break;
>                        };
>
>                        save("location");
>                        break;
>                };
>
>                if (method=="INVITE" || method=="BYE" || method=="CANCEL" || method=="ACK") {
>                        setflag(1);
>                        acc_db_request("", "acc");
>                };
>
>
>
>
>                if (uri=~"^sip:1786[0-9]*@66.100.100.73") {
>                        prefix("5000#");
>                        rewritehostport("66.100.100.70:5060");
>                        forward(uri:host, uri:port);
>                        break;
>                };
>
>
>
>
>
>
>                lookup("aliases");
>                if (!uri==myself) {
>                        append_hf("P-hint: outbound alias\r\n");
>                        route(1);
>                        break;
>                };
>
>                # native SIP destinations are handled using our USRLOC DB
>                if (!lookup("location")) {
>                        sl_send_reply("404", "Not Found");
>                        break;
>                };
>        };
>        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();
>        };
>}
>
>
>
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>




More information about the sr-users mailing list