Hello,
I have the following pcre regex method call: pcre_match("$hdr(From)",
"(?i)^(restricted|anonymous|private|unknown|unavailable)") to match calls
that are sent without a proper ANI in a case-insensitive manner, however it
does not seem to return true for the following example From Header:
>From Header: "Unavailable"
<sip:Restricted@192.168.47.68<sip%3ARestricted(a)192.168.47.68>
>;tag=gK07327e23
Any thoughts / input is appreciated, and as always thank you for your help!
Sincerely,
Brandon Armstead
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@192.168.64.94
> <mailto:sip%3A1002@192.168.64.94>] to [sip:51@192.168.64.94
> <mailto:sip%3A51@192.168.64.94>]
> mylog: test2.
> SIP Request: method [INVITE] from [sip:1002@192.168.64.94
> <mailto:sip%3A1002@192.168.64.94>] to [sip:51@192.168.64.94
> <mailto:sip%3A51@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(a)asipto.com <mailto:ramona@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(a)lists.kamailio.org <mailto:users@lists.kamailio.org>
> <mailto:users@lists.kamailio.org
> <mailto:users@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@kamailio.org <mailto:sip%3Apinger@kamailio.org>
> <mailto:sip%3Apinger@kamailio.org
> <mailto:sip%253Apinger@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(a)lists.kamailio.org <mailto:Users@lists.kamailio.org>
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>
>
>
I thought those flags/ip address settings was the change the SDP part of the SIP message. I tried your suggestion anyway, but it didn't work.
What I'm really looking for is how to change what Kamailio is telling RTPProxy via the socket.
-Nick
>>> On 9/17/2009 at 8:31 AM, in message
<a950b2030909170631s24d5dab4pd989c7a2e5846315(a)mail.gmail.com>, Laszlo
<laszlo(a)voipfreak.net> wrote:
> 2009/9/17 Nick Lemberger <Nick.Lemberger(a)lkfd.net>
>
>> Sone background:
>> I'm trying to use Kamailio as a multi-homed proxy in front of a softswitch,
>> one NIC has a public IP, the other a private. The softswitch is in the
>> private network and all SIP messaging goes through a 'virtual IP' on the
>> softswitch which allows for statefull failover between the softswitch CPUs.
>> The media on the other had goes to an address stated in the SDP message.
>>
>> I don't have any problem with the SIP messaging, it flows as expected.
>> Also, the RTP stream from my UAC to Kamailio/RTPproxy is working as
>> expected as well (I can record audio on this leg).
>>
>> There is a problem when RTP proxy sets up the leg on the internal side of
>> the network, I see the following in the logs:
>> Sep 17 07:56:36 voip.lakefield.net rtpproxy[20388]: [ID 408714 mail.info]
>> INFO:handle_command: pre-filling callee's address with
>> 192.168.249.40:33020
>>
>> I'm wondering what variable Kamailio gets the 192.168.249.40 address from -
>> this is the virtual IP for SIP messaging. In the SDP body of those messages
>> from the softswitch, I see that it's supposed to use 192.168.249.8 as the
>> media IP (and I see that it's setting up the correct port information,
>> source port of 33020 in this instance, but with the wrong IP). Where can I
>> tell Kamailio what IP should be telling RTPProxy?
>>
>> Thanks,
>> -Nick
>> <http://lists.openser-project.org/cgi-bin/mailman/listinfo/users>
>
>
> you can try using force_rtp_proxy with IP and some flags( o and/or c)
>
> http://www.kamailio.org/docs/modules/1.5.x/nathelper.html#id2468157
>
> -Laszlo
Sone background:
I'm trying to use Kamailio as a multi-homed proxy in front of a softswitch, one NIC has a public IP, the other a private. The softswitch is in the private network and all SIP messaging goes through a 'virtual IP' on the softswitch which allows for statefull failover between the softswitch CPUs. The media on the other had goes to an address stated in the SDP message.
I don't have any problem with the SIP messaging, it flows as expected. Also, the RTP stream from my UAC to Kamailio/RTPproxy is working as expected as well (I can record audio on this leg).
There is a problem when RTP proxy sets up the leg on the internal side of the network, I see the following in the logs:
Sep 17 07:56:36 voip.lakefield.net rtpproxy[20388]: [ID 408714 mail.info] INFO:handle_command: pre-filling callee's address with 192.168.249.40:33020
I'm wondering what variable Kamailio gets the 192.168.249.40 address from - this is the virtual IP for SIP messaging. In the SDP body of those messages from the softswitch, I see that it's supposed to use 192.168.249.8 as the media IP (and I see that it's setting up the correct port information, source port of 33020 in this instance, but with the wrong IP). Where can I tell Kamailio what IP should be telling RTPProxy?
Thanks,
-Nick
hello
I installed kamailio in a pc with dual quad core @ 3.3GHz, 4 GB RAM and see that kamailio is very slow answering to INVITEs from the inbound carriers.
The DEBUG is set to 3 and the idle CPU lowers only to 87% or 90 %, which is still decent but anyways the performance is very bad.
This is the first time that I see this, I have it installed in other machines with less resources, same OS [CentOS 5.2 64 bits] and it is performing very very good. I know that a high debug level is a enemy but in my case is set to 3 like in the other system, and it is using the same configuration file. What other thing may affect the performance?
I have made sure that it is not a network issue because the captures are taken in the same machine and I see multiples INVITEs hitting it and no response at all until more than 2 seconds
I would appreciate any help or suggestions
cheers
jp
There is a new bugfix release for the old 0.9.x ser (if you are using a
2.x version or sip-router, please disregard this message).
The release is made from the top of the rel_0_9_0 branch (so if you
already have a ser version compiled from the top of rel_0_9_0 in the
last 10 month you don't need to upgrade). It contains 3 more fixes when
compared to 0.9.7:
- tm: fix delete_cell() when the transaction is referenced
- core: fix memory leak in subst_user
- acc: misspeled function name and wrong check
You can either get it from cvs (v_0_9_8 tag or the top of rel_0_9_0
branch) or you can download a tarball with the sources:
http://ftp.iptel.org/pub/ser/0.9.8/src/ser-0.9.8_src.tar.gz.
There are no binary packages provided, only sources.
Upgrading from older 0.9.x versions should only involve re-compiling and
re-installing ser. There are no changes in the config file format or in
the DB schemes.
Andrei
Hi All.
I have sip:ABCD@SomeDomain.com user registered successfully at SER. Now
I want manually to add another ContactURI to the same user. Is there any
possibility to do so?
Thanks in advance
Regards,
Evgeny Miloslavsky
Systest Engineer
Juniper Networks Solutions Israel LTD.
Office: 972-9-9712355
Office: 972-74-7170072
Hello
Im getting this error in my Kamailio-1.5.2:
Sep 16 15:43:08 sip kamailio[25298]: ERROR:core:sip_resolvehost: NATPR
query timed out, no server could be reached, stop resolving (Connection
timed out)
Sep 16 15:43:08 sip kamailio[25298]: CRITICAL:core:mk_proxy: could not
resolve hostname: "sip.server.pt"
Sep 16 15:43:08 sip kamailio[25298]: ERROR:tm:uri2proxy: bad host name
in URI <sip:sip.server.pt>
Sep 16 15:43:08 sip kamailio[25298]: ERROR:tm:t_forward_nonack: failure
to add branches
Why cant Kamailio resolve the name?
Could this be causing my clients SIP registrations to fail?
Thanks
regards
Joao Pereira
Hello,
I need help.
I try to select a DOUBLE(10,4).
Kamailio report <null>.
Example:
avp_db_query("select CREDIT from subscriber where client='$avp(s:679)'",
"$avp(i:513)");
$avp(i:513) is null!
But in my database, it is 15.0000
Know you how to do ?
Cordialement,
BERGANZ François
cid:image001.gif@01C8F7CD.6BC1D2C0
<http://www.acropolistelecom.net/> http://www.acropolistelecom.net
P Pensez à l'Environnement, n'imprimez ce mail que si nécessaire.
Sipwise is currently hiring a VoIP System Administrator for an
interesting position based in Vienna/Austria.
You have strong skills in Linux system administration (Monitoring and
Alerting using SNMP/Nagios/Cacti/MRTG, Scripting in Perl/M4/sh), a deep
understanding of highly available system deployments and good knowledge
regarding SIP (preferably Kamailio, Sems, Asterisk)?
We offer you a challenging position to help our team further improving
our Kamailio-based Class5 Softswitches, deploying them at customer sites
and supporting our customers (large DSL and Cable Providers throughout
Europe) and sales teams with technical details.
If you are interested, please send me an email for further information.
Best regards,
Andreas