[Users] openser sending 408 to UAC when not receiving 200 from UAS after 4 secs
Tim Madorma
tmadorma at gmail.com
Wed Jun 13 19:52:37 CEST 2007
thanks much. I inherited a config file and didn't catch that.
On 6/13/07, Ovidiu Sas <sip.nslu at gmail.com> wrote:
> Then why did you set the fr_inv_timer to 4?
>
> modparam("tm","fr_inv_timer",4)
>
> see:
> http://openser.org/docs/modules/1.2.x/tm.html#AEN138
>
>
>
> Regards,
> Ovidiu Sas
>
> On 6/13/07, Tim Madorma <tmadorma at gmail.com> wrote:
> > Hi,
> >
> > For a basic call, when the UAS does not send a 200 within approx 4
> > seconds, the OpenSER has a timer fire and sends a 408 to the UAC and a
> > Cancel to the UAS. This only allows one ring on the terminating phone
> > before the call is dropped.. I'm attaching the log and Wireshark/snoop
> > capture file. I'll put the openser config file inline here. Please
> > advise:
> >
> > #
> > # openser_vm.cfg
> > #
> > # ----------- global configuration parameters ------------------------
> >
> > debug=3 # debug level (cmd line: -dddddddddd)
> > fork=yes
> > log_stderror=no # (cmd line: -E)
> >
> > maxbuffer=1048576
> >
> > check_via=no # (cmd. line: -v)
> > dns=no # (cmd. line: -r)
> > rev_dns=no # (cmd. line: -R)
> > #reply_to_via=1
> > children=32
> > log_facility=LOG_LOCAL5
> > dns_use_search_list=no
> > dns_servers_no=1
> > user="sipproxy"
> > group="sipproxy"
> >
> > # Local IP address/port pairs to listen to
> > # Set the following IP addresses to the value of the local e1000g0 interface
> > listen=udp:65.185.233.55:5061
> > listen=udp:65.185.233.55:5062
> >
> > # Alias IP address/port pair values will be in the Req URI when the
> > # OpenSER is being load balanced with a BIG IP server
> > # Set the IP address to the value of the associated blade
> > # of the BIG IP that is load balancing for the SIP Proxy server.
> > alias=65.185.233.104:5061
> > alias=65.185.233.104:5062
> >
> > # LOAD OpenSER MODULES
> > mpath="/sw/lib/openser/modules/"
> > loadmodule "sl.so"
> > loadmodule "tm.so"
> > loadmodule "rr.so"
> > loadmodule "maxfwd.so"
> > loadmodule "usrloc.so"
> > loadmodule "registrar.so"
> > loadmodule "textops.so"
> > loadmodule "acc.so"
> > loadmodule "mi_fifo.so"
> > loadmodule "enum.so"
> > loadmodule "perl.so"
> > loadmodule "xlog.so"
> >
> > # ----------------- setting module-specific parameters ---------------
> >
> > # -- usrloc params --
> >
> > modparam("usrloc", "db_mode", 0)
> >
> > # -- rr params --
> > # add value to ;lr param to make some broken UAs happy
> > modparam("rr", "enable_full_lr", 1)
> >
> > # ------------------------- request routing logic -------------------
> > modparam("acc", "log_level", 2)
> > modparam("acc", "log_flag", 1)
> > modparam("acc","report_cancels", 1)
> > modparam("acc","failed_transaction_flag", 1)
> > modparam("acc","log_extra", "req_uri=$rU")
> > modparam("tm", "fr_timer", 2)
> > modparam("tm","fr_inv_timer",4)
> > modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
> > modparam("perl", "filename",
> > "/sw/lib/openser/perl/openser_twc_sip_proxy_3.0.pl")
> >
> > # 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;
> > };
> >
> > # 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) {
> > route(1);
> > };
> >
> > if (method=="OPTIONS") {
> > sl_send_reply("200", "OK");
> > exit;
> > }
> >
> > ##############################################################
> > # TWC: dst_port 5062 indicates Message Waiting Indicator
> > ##############################################################
> > if (dst_port==5062 && method=="NOTIFY") {
> >
> > xlog("L_DBG", "TWC: received incoming message:\n <$mb>\n");
> > perl_exec("twc_proc_vm_mwi");
> >
> > if ($rc==-1) {
> > log("TWC: COULD NOT PARSE THE MWI TRIGGER");
> > sl_send_reply("400", "Bad Request");
> > exit;
> > }
> >
> > # The enum_query() call will form an ENUM (NAPTR DNS) request from
> > # the user part of the Req URI and the passed MWI server and send
> > # it to the ENUM server defined in resolv.conf.
> > enum_query("mwi.ex.e164.rr.com");
> > if ($rc==1) {
> > log("MWI ENUM QUERY SUCCEEDED");
> > setflag(1);
> > route(1);
> > } else {
> > log("MWI ENUM QUERY FAILED");
> > sl_send_reply("404", "Not Found");
> > exit;
> > }
> > }
> >
> > ##############################################################
> > # TWC: dst_port 5061 indicates VM Outbound dial trigger
> > ##############################################################
> > if (dst_port==5061 && method=="INVITE") {
> >
> > xlog("L_DBG", "TWC: received incoming message:\n <$mb>\n");
> > perl_exec("twc_proc_vm_outdial");
> >
> > if ($rc==-1) {
> > log("TWC: COULD NOT PARSE THE VM OUTDIAL TRIGGER");
> > sl_send_reply("400", "Bad Request");
> > exit;
> > }
> >
> > # The enum_query() call will form an ENUM (NAPTR DNS) request from
> > # the user part of the Req URI and the passed VMO server and send
> > # it to the ENUM server defined in resolv.conf.
> > enum_query("vmo.ex.e164.rr.com");
> > if ($rc==1) {
> > log("VMO ENUM QUERY SUCCEEDED");
> > setflag(1);
> > # Use pseudo vars to set REQ URI User to the original
> > Req URI User
> > $rU = $oU;
> > route(1);
> > } else {
> > log("ENUM QUERY FAILED");
> > sl_send_reply("404", "Not Found");
> > exit;
> > }
> > }
> > }
> >
> >
> > #####################################################
> > # Default Message Handler
> > #####################################################
> > 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