[Kamailio-Users] Kamailio speed dial

Elena-Ramona Modroiu ramona at asipto.com
Thu Sep 17 19:18:58 CEST 2009


Hi,

please do not forget to CC the list.

Your xlog statements print $tu - to header uri, not $ru, request-uri, 
which is the one updated by speed dial. Make the update and if you still 
get same result either is an error printed by sd_lookup() in log or the 
table is not populated properly.

Send over the result of the mysql query:

select  * from speed_dial where sd_username='51'

Regards,
Ramona


Mythili D wrote:
> Hi, Good morning....I have seen your mail..Thank you very much for 
> your reply..
>  I have followed your suggestions.
>
> if(uri=~"sip:[0-9]{2}@.*"){
>
> xlog("L_INFO","mylog: test1.\n");
>
> xlog("L_INFO", "SIP Request: method [$rm] from [$fu] to [$tu]\n");
>
> #sd_lookup("speed_dial", "sip:$au@$fd");
>
> sd_lookup("speed_dial");
>
> xlog("L_INFO","mylog: test2.\n");
>
> xlog("L_INFO", "SIP Request: method [$rm] from [$fu] to [$tu]\n");
>
> }
>  
> I called fromm 1002  to 51.
> Then i got the output as :
> mylog test1.
> SIP Request: method [INVITE] from [sip:1002 at 192.168.64.94 
> <mailto:sip%3A1002 at 192.168.64.94>] to [sip:51 at 192.168.64.94 
> <mailto:sip%3A51 at 192.168.64.94>]
> mylog: test2.
> SIP Request: method [INVITE] from [sip:1002 at 192.168.64.94 
> <mailto:sip%3A1002 at 192.168.64.94>] to [sip:51 at 192.168.64.94 
> <mailto:sip%3A51 at 192.168.64.94>
>  
>  
> Here, see the control goes to the function sd_lookup("speed_dial") and 
> it must take the value 5001 instead of 51 and sholud make call to 5001.
> and after mylog:test2 message, it sholud return the message with OK. 
> But see it is not like that. So, I think, error might be with the 
> sd_lookup(" "). Please clarify my doubt.
>  
> Thanks....
> Regards,
> Mythili.
> On Mon, Sep 14, 2009 at 2:27 PM, Elena-Ramona Modroiu 
> <ramona at asipto.com <mailto:ramona at asipto.com>> wrote:
>
>     Hi,
>
>     I see in one config you use $au@$fd for lookup, that is wrong
>     unless you have the two digits in username of auth header. Better
>     use sd_lookup() without second parameter.
>
>     Then print $ru in xlog() before and after sd_lookup() -- that will
>     reveal what is looked up and if the function changed the r-uri.
>
>     Regards,
>     Ramona
>
>
>     Mythili D wrote:
>
>         Hiii...I installed kamailio 1.5.1 and mysql 5.0.37 properly.
>         Authnetication is working properly. Now i'm going to configure
>         the feature "speed dial".
>          I tried with two config files. I'm facing the same problem
>         with two config files..
>         1st config file
>         -----------------------------------------------------------
>         #
>         # $Id: speeddial.cfg 4585 2008-08-06 08:20:30Z klaus_darilion $
>         #
>         # sample config script to use speeddial module
>         #
>         debug=3
>         log_stderror=yes
>         log_facility=LOG_LOCAL0
>         fork=yes
>         children=4
>         # ----------- global configuration parameters
>         ------------------------
>         check_via=no # (cmd. line: -v)
>         dns=no # (cmd. line: -r)
>         rev_dns=no # (cmd. line: -R)
>         port=5060
>         # ------------------ module loading
>         ----------------------------------
>         loadmodule "/usr/local/lib/kamailio/modules/sl.so"
>         loadmodule "/usr/local/lib/kamailio/modules/tm.so"
>         loadmodule "/usr/local/lib/kamailio/modules/rr.so"
>         loadmodule "/usr/local/lib/kamailio/modules/maxfwd.so"
>         loadmodule "/usr/local/lib/kamailio/modules/usrloc.so"
>         loadmodule "/usr/local/lib/kamailio/modules/registrar.so"
>         loadmodule "/usr/local/lib/kamailio/modules/textops.so"
>         loadmodule "/usr/local/lib/kamailio/modules/db_mysql.so"
>         loadmodule "/usr/local/lib/kamailio/modules/speeddial.so"
>         loadmodule "/usr/local/lib/kamailio/modules/mi_fifo.so"
>         loadmodule "/usr/local/lib/kamailio/modules/xlog.so"
>         # ----------------- setting module-specific parameters
>         ---------------
>         modparam("speeddial", "db_url",
>         "mysql://openser:openserrw@localhost/openser")
>         modparam("speeddial", "use_domain", 1)
>          # -- mi_fifo params --
>         modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
>         # -- 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
>         -------------------
>         # main routing logic
>         route{
>         # initial sanity checks
>         if (!mf_process_maxfwd_header("10"))
>         {
>         sl_send_reply("483","Too Many Hops");
>         exit;
>         };
>         if (msg:len >= max_len )
>         {
>         sl_send_reply("513", "Message too big");
>         exit;
>         };
>         if (!method=="REGISTER") record_route();
>         if (loose_route())
>         {
>         if (!t_relay())
>         {
>         sl_reply_error();
>         };
>         exit;
>         };
>         if (!uri==myself)
>         {
>         if (!t_relay())
>         {
>         sl_reply_error();
>         };
>         exit;
>         };
>         if (uri==myself)
>         {
>         if (method=="REGISTER")
>         {
>         save("location");
>         exit;
>         };
>         if(uri=~"sip:[0-9]{2}@.*"){
>         xlog("L_INFO","mylog: test1.\n");
>         sd_lookup("speed_dial");
>         #sd_lookup("speed_dial", "sip:$au@$fd");
>         xlog("L_INFO","mylog: test2.\n");
>         }
>         lookup("aliases");
>         if (!uri==myself)
>         {
>         if (!t_relay())
>         {
>         sl_reply_error();
>         };
>         exit;
>         };
>         if (!lookup("location"))
>         {
>         sl_send_reply("404", "Not Found");
>         exit;
>         };
>         };
>         if (!t_relay())
>         {
>         sl_reply_error();
>         };
>         }
>          --------------------------------------------------------------------
>         I'm using the table speed_dial. My data in table is
>         username=5001
>         domain=192.168.64.94
>         sd_username=51
>         sd_domain=192.168.64.94
>          I dialled 51 from useragent 1001. the output is not found.
>         but it is displaying test1 and test2 messages from my cfg file
>         which i gave, i.e., it is entring into loop and function
>         sd_lookup("speed_dial"). But the problem with speed_dial i
>         think so...
>         Please help me......
>          2nd config file
>         ---------------------------------------------------------------------
>         #
>         # $Id: kamailio.cfg 5881 2009-06-22 09:13:04Z henningw $
>         #
>         # Kamailio (OpenSER) SIP Server - basic configuration script
>         # - web: http://www.kamailio.org <http://www.kamailio.org/>
>         # - svn: http://openser.svn.sourceforge.net/viewvc/openser/
>         #
>         # Direct your questions about this file to:
>         <users at lists.kamailio.org <mailto:users at lists.kamailio.org>
>         <mailto:users at lists.kamailio.org
>         <mailto:users at lists.kamailio.org>>>
>
>         #
>         # Refer to the Core CookBook at
>         http://www.kamailio.org/dokuwiki/doku.php
>         # for an explanation of possible statements, functions and
>         parameters.
>         #
>         # There are comments showing how to enable different features
>         in th econfig
>         # file. Such commented code starts with #X# where X is a
>         letter to identify
>         # a feature. Delete entire #X# if you want to enable that
>         feature. Next are
>         # sed commands that help you enable such features.
>         #
>         # *** To enamble mysql execute:
>         # sed -i 's///g' kamailio.cfg
>         #
>         # *** To enamble authentication execute:
>         # - enable mysql
>         # sed -i 's///g' kamailio.cfg
>         # - add users using 'kamctl'
>         #
>         # *** To enamble persistent user location execute:
>         # - enable mysql
>         # sed -i 's/#u#//g' kamailio.cfg
>         #
>         # *** To enamble presence server execute:
>         # - enable mysql
>         # sed -i 's/#p#//g' kamailio.cfg
>         #
>         # *** To enamble nat traversal execute:
>         # sed -i 's/#n#//g' kamailio.cfg
>         # - install RTPProxy: http://www.rtpproxy.org
>         <http://www.rtpproxy.org/>
>         # - start RTPProxy:
>         # rtpproxy -l _your_public_ip_ -s udp:localhost:7722
>         #
>         # *** To enhance accounting execute:
>         # - enable mysql
>         # sed -i 's/#c#//g' kamailio.cfg
>         # - add following columns to database
>         # ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL
>         DEFAULT '';
>         # ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL
>         DEFAULT '';
>         # ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL
>         DEFAULT '';
>         # ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL
>         DEFAULT '';
>         # ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL
>         DEFAULT '';
>         # ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT
>         NULL DEFAULT '';
>         # ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128)
>         NOT NULL DEFAULT '';
>         # ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64)
>         NOT NULL DEFAULT '';
>         # ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT
>         NULL DEFAULT '';
>         # ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128)
>         NOT NULL DEFAULT '';
>         #
>          ####### Global Parameters #########
>         debug=3
>         log_stderror=yes
>         log_facility=LOG_LOCAL0
>         fork=yes
>         children=4
>         /* uncomment the following lines to enable debugging */
>         #debug=6
>         #fork=no
>         #log_stderror=yes
>         /* uncomment the next line to disable TCP (default on) */
>         #disable_tcp=yes
>         /* uncomment the next line to enable the auto temporary
>         blacklisting of
>         not available destinations (default disabled) */
>         #disable_dns_blacklist=no
>         /* uncomment the next line to enable IPv6 lookup after IPv4 dns
>         lookup failures (default disabled) */
>         #dns_try_ipv6=yes
>         /* uncomment the next line to disable the auto discovery of
>         local aliases
>         based on revers DNS on IPs (default on) */
>         #auto_aliases=no
>         /* uncomment the following lines to enable TLS support
>         (default off) */
>         #disable_tls = no
>         #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/kamailio/tls/user/user-cert.pem"
>         #tls_private_key =
>         "/usr/local/etc/kamailio/tls/user/user-privkey.pem"
>         #tls_ca_list = "/usr/local/etc/kamailio/tls/user/user-calist.pem"
>          port=5070
>         /* uncomment and configure the following line if you want
>         Kamailio to
>         bind on a specific interface/port/proto (default bind on all
>         available) */
>         #listen=udp:192.168.1.2:5060 <http://192.168.1.2:5060/>
>         <http://192.168.1.2:5060 <http://192.168.1.2:5060/>>
>
>          ####### Modules Section ########
>         #set module path
>         mpath="/usr/local/lib/kamailio/modules/"
>         /* uncomment next line for MySQL DB support */
>         loadmodule "db_mysql.so"
>         loadmodule "mi_fifo.so"
>         loadmodule "sl.so"
>         loadmodule "tm.so"
>         loadmodule "rr.so"
>         loadmodule "pv.so"
>         loadmodule "maxfwd.so"
>         loadmodule "usrloc.so"
>         loadmodule "registrar.so"
>         loadmodule "textops.so"
>         loadmodule "uri_db.so"
>         loadmodule "siputils.so"
>         loadmodule "xlog.so"
>         loadmodule "acc.so"
>         loadmodule "speeddial.so"
>         /* uncomment next lines for MySQL based authentication support
>         NOTE: a DB (like db_mysql) module must be also loaded */
>         loadmodule "auth.so"
>         loadmodule "auth_db.so"
>         /* uncomment next line for aliases support
>         NOTE: a DB (like db_mysql) module must be also loaded */
>         #loadmodule "alias_db.so"
>         /* uncomment next line for multi-domain support
>         NOTE: a DB (like db_mysql) module must be also loaded
>         NOTE: be sure and enable multi-domain support in all used modules
>         (see "multi-module params" section ) */
>         #loadmodule "domain.so"
>         /* uncomment the next two lines for presence server support
>         NOTE: a DB (like db_mysql) module must be also loaded */
>         #p#loadmodule "presence.so"
>         #p#loadmodule "presence_xml.so"
>         #n#loadmodule "nathelper.so"
>         # ----------------- setting module-specific parameters
>         ---------------
>          # ----- mi_fifo params -----
>         modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
>          # ----- rr params -----
>         # add value to ;lr param to cope with most of the UAs
>         modparam("rr", "enable_full_lr", 1)
>         # do not append from tag to the RR (no need for this script)
>         modparam("rr", "append_fromtag", 0)
>          # ----- rr params -----
>         modparam("registrar", "method_filtering", 1)
>         /* uncomment the next line to disable parallel forking via
>         location */
>         # modparam("registrar", "append_branches", 0)
>         /* uncomment the next line not to allow more than 10 contacts
>         per AOR */
>         #modparam("registrar", "max_contacts", 10)
>          # ----- uri_db params -----
>         /* by default we disable the DB support in the module as we do
>         not need it
>         in this configuration */
>         modparam("uri_db", "use_uri_table", 0)
>         modparam("uri_db", "db_url", "")
>          # ----- acc params -----
>         /* what sepcial events should be accounted ? */
>         modparam("acc", "early_media", 1)
>         modparam("acc", "report_ack", 1)
>         modparam("acc", "report_cancels", 1)
>         /* by default ww do not adjust the direct of the sequential
>         requests.
>         if you enable this parameter, be sure the enable "append_fromtag"
>         in "rr" module */
>         modparam("acc", "detect_direction", 0)
>         /* account triggers (flags) */
>         modparam("acc", "failed_transaction_flag", 3)
>         modparam("acc", "log_flag", 1)
>         modparam("acc", "log_missed_flag", 2)
>         modparam("acc", "log_extra",
>         "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>         /* uncomment the following lines to enable DB accounting also */
>         #c#modparam("acc", "db_flag", 1)
>         #c#modparam("acc", "db_missed_flag", 2)
>         #c#modparam("acc", "db_url",
>         #c# "mysql://openser:openserrw@localhost/openser")
>         #c#modparam("acc", "db_extra",
>         #c#
>         "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>          # ----- usrloc params -----
>         /* uncomment the following lines if you want to enable DB
>         persistency
>         for location entries */
>         #u#modparam("usrloc", "db_mode", 0)
>         #u#modparam("usrloc", "db_url",
>         #u# "mysql://openser:openserrw@localhost/openser")
>         # ----- auth_db params -----
>         /* uncomment the following lines if you want to enable the DB
>         based
>         authentication */
>         modparam("auth_db", "calculate_ha1", yes)
>         modparam("auth_db", "password_column", "password")
>         modparam("auth_db", "db_url",
>         "mysql://openser:openserrw@localhost/openser")
>         modparam("auth_db", "load_credentials", "")
>          # ----- alias_db params -----
>         /* uncomment the following lines if you want to enable the DB
>         based
>         aliases */
>         #modparam("alias_db", "db_url",
>         # "mysql://openser:openserrw@localhost/openser")
>          # ----- domain params -----
>         /* uncomment the following lines to enable multi-domain detection
>         support */
>         #modparam("domain", "db_url",
>         # "mysql://openser:openserrw@localhost/openser")
>         #modparam("domain", "db_mode", 1) # Use caching
>          # ----- multi-module params -----
>         /* uncomment the following line if you want to enable
>         multi-domain support
>         in the modules (dafault off) */
>         #modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)
>          # ----- presence params -----
>         /* uncomment the following lines if you want to enable presence */
>         #p#modparam("presence|presence_xml", "db_url",
>         #p# "mysql://openser:openserrw@localhost/openser")
>         #p#modparam("presence_xml", "force_active", 1)
>         #p#modparam("presence", "server_address",
>         "sip:192.168.1.2:5060 <http://192.168.1.2:5060/>
>         <http://192.168.1.2:5060 <http://192.168.1.2:5060/>>")
>         # -- nathelper
>         #n#modparam("nathelper", "rtpproxy_sock", "udp:127.0.0.1:7722
>         <http://127.0.0.1:7722/> <http://127.0.0.1:7722
>         <http://127.0.0.1:7722/>>")
>
>         #n#modparam("nathelper", "natping_interval", 30)
>         #n#modparam("nathelper", "ping_nated_only", 1)
>         #n#modparam("nathelper", "sipping_bflag", 7)
>         #n#modparam("nathelper", "sipping_from",
>         "sip:pinger at kamailio.org <mailto:sip%3Apinger at kamailio.org>
>         <mailto:sip%3Apinger at kamailio.org
>         <mailto:sip%253Apinger at kamailio.org>>")
>
>         #n#modparam("registrar|nathelper", "received_avp", "$avp(i:80)")
>         #n#modparam("usrloc", "nat_bflag", 6)
>         ####### Routing Logic ########
>          # main request routing logic
>         route{
>         if (!mf_process_maxfwd_header("10")) {
>         sl_send_reply("483","Too Many Hops");
>         exit;
>         }
>         #
>         # NAT detection
>         route(4);
>         if (has_totag()) {
>         # sequential request withing a dialog should
>         # take the path determined by record-routing
>         if (loose_route()) {
>         if (is_method("BYE")) {
>         setflag(1); # do accounting ...
>         setflag(3); # ... even if the transaction fails
>         }
>         route(1);
>         } else {
>         if (is_method("SUBSCRIBE") && uri == myself) {
>         # in-dialog subscribe requests
>         route(2);
>         exit;
>         }
>         if ( is_method("ACK") ) {
>         if ( t_check_trans() ) {
>         # non loose-route, but stateful ACK; must be an ACK after a
>         487 or e.g. 404 from upstream server
>         t_relay();
>         exit;
>         } else {
>         # ACK without matching transaction ... ignore and discard.\n");
>         exit;
>         }
>         }
>         sl_send_reply("404","Not here");
>         }
>         exit;
>         }
>         #initial requests
>         # CANCEL processing
>         if (is_method("CANCEL"))
>         {
>         if (t_check_trans())
>         t_relay();
>         exit;
>         }
>         t_check_trans();
>         # authentication
>         route(3);
>         # record routing
>         if (!is_method("REGISTER|MESSAGE"))
>         record_route();
>         # account only INVITEs
>         if (is_method("INVITE")) {
>         setflag(1); # do accounting
>         }
>         if (!uri==myself)
>         /* replace with following line if multi-domain support is used */
>         ##if (!is_uri_host_local())
>         {
>         append_hf("P-hint: outbound\r\n");
>         # if you have some interdomain connections via TLS
>         ##if($rd=="tls_domain1.net <http://tls_domain1.net/>
>         <http://tls_domain1.net <http://tls_domain1.net/>>") {
>         ## t_relay("tls:domain1.net <http://domain1.net/>
>         <http://domain1.net <http://domain1.net/>>");
>         ## exit;
>         ##} else if($rd=="tls_domain2.net <http://tls_domain2.net/>
>         <http://tls_domain2.net <http://tls_domain2.net/>>") {
>         ## t_relay("tls:domain2.net <http://domain2.net/>
>         <http://domain2.net <http://domain2.net/>>");
>
>         ## exit;
>         ##}
>         route(1);
>         }
>         # requests for my domain
>         if( is_method("PUBLISH|SUBSCRIBE"))
>         route(2);
>         if (is_method("REGISTER"))
>         {
>         if (!save("location"))
>         sl_reply_error();
>         exit;
>         }
>         if ($rU==NULL) {
>         # request with no Username in RURI
>         sl_send_reply("484","Address Incomplete");
>         exit;
>         }
>         # apply DB based aliases (uncomment to enable)
>         ##alias_db_lookup("dbaliases");
>          if(uri=~"sip:[0-9]{2}@.*"){
>         xlog("L_INFO","mylog: test1.\n");
>         sd_lookup("speed_dial", "sip:$au@$fd");
>         #sd_lookup("speed_dial");
>         xlog("L_INFO","mylog: test2.\n");
>         }
>          if (!lookup("location")) {
>         switch ($retcode) {
>         case -1:
>         case -3:
>         t_newtran();
>         t_reply("404", "Not Found");
>         exit;
>         case -2:
>         sl_send_reply("405", "Method Not Allowed");
>         exit;
>         }
>         }
>         # when routing via usrloc, log the missed calls also
>         setflag(2);
>         route(1);
>         }
>          route[1] {
>         #n# if (check_route_param("nat=yes")) {
>         #n# setbflag(6);
>         #n# }
>         #n# if (isflagset(5) || isbflagset(6)) {
>         #n# route(5);
>         #n# }
>         /* example how to enable some additional event routes */
>         if (is_method("INVITE")) {
>         #t_on_branch("1");
>         t_on_reply("1");
>         t_on_failure("1");
>         }
>         if (!t_relay()) {
>         sl_reply_error();
>         }
>         exit;
>         }
>          # Presence route
>         /* uncomment the whole following route for enabling presence
>         server */
>         route[2]
>         {
>         #p# if (!t_newtran())
>         #p# {
>         #p# sl_reply_error();
>         #p# exit;
>         #p# };
>         #p#
>         #p# if(is_method("PUBLISH"))
>         #p# {
>         #p# handle_publish();
>         #p# t_release();
>         #p# }
>         #p# else
>         #p# if( is_method("SUBSCRIBE"))
>         #p# {
>         #p# handle_subscribe();
>         #p# t_release();
>         #p# }
>         #p# exit;
>
>         # if presence enabled, this part will not be executed
>         if (is_method("PUBLISH") || $rU==null)
>         {
>         sl_send_reply("404", "Not here");
>         exit;
>         }
>         return;
>         }
>         # Authentication route
>         /* uncomment the whole following route for enabling
>         authentication */
>         route[3] {
>         if (is_method("REGISTER"))
>         {
>         # authenticate the REGISTER requests (uncomment to enable auth)
>         if (!www_authorize("", "subscriber"))
>         {
>         www_challenge("", "0");
>         exit;
>         }
>         if ($au!=$tU)
>         {
>         sl_send_reply("403","Forbidden auth ID");
>         exit;
>         }
>         } else {
>         # authenticate if from local subscriber (uncomment to enable auth)
>         if (from_uri==myself)
>         {
>         if (!proxy_authorize("", "subscriber")) {
>         proxy_challenge("", "0");
>         exit;
>         }
>         if (is_method("PUBLISH"))
>         {
>         if ($au!=$tU) {
>         sl_send_reply("403","Forbidden auth ID");
>         exit;
>         }
>         } else {
>         if ($au!=$fU) {
>         sl_send_reply("403","Forbidden auth ID");
>         exit;
>         }
>         }
>         consume_credentials();
>         # caller authenticated
>         }
>         }
>         return;
>         }
>         # Caller NAT detection route
>         /* uncomment the whole following route for enabling Caller NAT
>         Detection */
>         route[4]{
>         #n# force_rport();
>         #n# if (nat_uac_test("19")) {
>         #n# if (method=="REGISTER") {
>         #n# fix_nated_register();
>         #n# } else {
>         #n# fix_nated_contact();
>         #n# }
>         #n# setflag(5);
>         #n# }
>         return;
>         }
>         # RTPProxy control
>         /* uncomment the whole following route for enabling RTPProxy
>         Control */
>         route[5] {
>         #n# if (is_method("BYE")) {
>         #n# unforce_rtp_proxy();
>         #n# } else if (is_method("INVITE")){
>         #n# force_rtp_proxy();
>         #n# }
>         #n# if (!has_totag()) add_rr_param(";nat=yes");
>         return;
>         }
>         branch_route[1] {
>         xdbg("new branch at $ru\n");
>         }
>          onreply_route[1] {
>         xdbg("incoming reply\n");
>         #n# if ((isflagset(5) || isbflagset(6)) &&
>         status=~"(183)|(2[0-9][0-9])") {
>         #n# force_rtp_proxy();
>         #n# }
>         #n# if (isbflagset(6)) {
>         #n# fix_nated_contact();
>         #n# }
>         }
>          failure_route[1] {
>         #n# if (is_method("INVITE")
>         #n# && (isbflagset(6) || isflagset(5))) {
>         #n# unforce_rtp_proxy();
>         #n# }
>         if (t_was_cancelled()) {
>         exit;
>         }
>         # uncomment the following lines if you want to block client
>         # redirect based on 3xx replies.
>         ##if (t_check_status("3[0-9][0-9]")) {
>         ##t_reply("404","Not found");
>         ## exit;
>         ##}
>         # uncomment the following lines if you want to redirect the failed
>         # calls to a different new destination
>         ##if (t_check_status("486|408")) {
>         ## sethostport("192.168.2.100:5060
>         <http://192.168.2.100:5060/> <http://192.168.2.100:5060
>         <http://192.168.2.100:5060/>>");
>
>         ## append_branch();
>         ## # do not set the missed call flag again
>         ## t_relay();
>         ##}
>         }
>         -------------------------------------------------------------------
>         Here i'm using the table speed_dial. My data in table is
>         username=5001
>         domain=192.168.64.94
>         sd_username=51
>         sd_domain=192.168.64.94
>          I dialled 51 from useragent 1001. the output is not found.
>         but it is displaying test1 and test2 messages from my cfg file
>         which i gave, i.e., it is entring into loop and function
>         sd_lookup("speed_dial"). But the problem with speed_dial i
>         think so
>          Problem is same in two files...
>         Please help me...
>         Thanks in advance....
>          regards,
>         Mythili.
>
>         ------------------------------------------------------------------------
>
>         _______________________________________________
>         Kamailio (OpenSER) - Users mailing list
>         Users at lists.kamailio.org <mailto:Users at lists.kamailio.org>
>         http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>         http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>
>
>





More information about the sr-users mailing list