[OpenSIPS-Users] infinite loop
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Thu Apr 16 09:47:38 CEST 2009
Hi Sebastian,
Sebastian Krueger wrote:
> Hi Bogdan,
>
> yeah, something like that.
>
> In my case it's
>
> 483 Too Many Hops
>
> any idea why that might happen?
typically this means when you have a ruting issue like you have a RURI
pointing to your server and you are keep forwarding it out instead of
processing it locally.
>
> Also, I'm wondering if you anyone could help me out with these questions:
>
> Does "uri" == "$ru"?
> What does the "myself" resolve to?
> Does "method" == "$rm"?
> Is the "msg:len" variable meant to be "$cl"?
See http://www.opensips.org/index.php?n=Resources.DocsCoreVar
Indeed method is the old name for $rm and the same for msg:len
Regards,
Bogdan
>
> Any info is much appreciated.
>
> Cheers, Sebastian.
>
>
>
>
>
> On Wed, Apr 15, 2009 at 11:31 PM, Bogdan-Andrei Iancu
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>
> Hi Sebastian,
>
> You mean you get the "483 Loop detected" ?
>
> Regards,
> Bogdan
>
> Sebastian Krueger wrote:
>
> Hi guys,
>
> am new to openSIPS, and have hacked together this
> configuration file. It looks like I'm landing in an infinite
> loop which only breaks out once I've read the maximum number
> of forwards. I got it from the openSER book and am trying to
> rewrite it to openSIPS.
>
> Here the config:
> ---------------
>
> |log_stderror=*no*
> ||log_facility=LOG_LOCAL0
> ||*fork*=yes
> ||children=4
> ||debug=6
> ||port=5060
> ||
> ||/####### Module Loading ########
> /|/||||/|
> ||mpath=*"/usr/lib/opensips/modules/"*
> ||
> ||loadmodule *"db_mysql.so"*
> ||loadmodule *"signaling.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 *"uri_db.so"*
> ||loadmodule *"uri.so"*
> ||loadmodule *"xlog.so"*
> ||loadmodule *"acc.so"*
> ||loadmodule *"auth.so"*
> ||loadmodule *"auth_db.so"*
> ||loadmodule *"alias_db.so"*
> ||loadmodule *"domain.so"*
> ||loadmodule *"presence.so"*
> ||loadmodule *"presence_xml.so"*
> ||
> ||/####### Module Parameters ########
> /|/||||/|modparam(*"db_mysql"*, *"ping_interval"*, 600)
> ||modparam(*"mi_fifo"*, *"fifo_name"*, *"/tmp/opensips_fifo"*)
> ||modparam(*"rr"*, *"enable_full_lr"*, 1)
> ||modparam(*"rr"*, *"append_fromtag"*, 0)
> ||modparam(*"registrar"*, *"method_filtering"*, 1)
> ||modparam(*"usrloc"*, *"db_mode"*, 2)
> ||modparam(*"usrloc"*, *"db_url"*,
> *"mysql://opensips:opensipsrw@localhost/opensips"*)
> ||modparam(*"uri_db"*, *"use_uri_table"*, 0)
> ||modparam(*"uri_db"*, *"db_url"*, *""*)
> ||modparam(*"acc"*, *"early_media"*, 1)
> ||modparam(*"acc"*, *"report_ack"*, 1)
> ||modparam(*"acc"*, *"report_cancels"*, 1)
> ||modparam(*"acc"*, *"detect_direction"*, 0)
> ||modparam(*"acc"*, *"failed_transaction_flag"*, 3)
> ||modparam(*"acc"*, *"log_flag"*, 1)
> ||modparam(*"acc"*, *"log_missed_flag"*, 2)
> ||modparam(*"acc"*, *"db_flag"*, 1)
> ||modparam(*"acc"*, *"db_missed_flag"*, 2)
> ||modparam(*"auth_db"*, *"calculate_ha1"*, yes)
> ||modparam(*"auth_db"*, *"password_column"*, *"password"*)
> ||modparam(*"auth_db"*, *"db_url"*,
> *"mysql://opensips:opensipsrw@localhost/opensips"*)
> ||modparam(*"auth_db"*, *"load_credentials"*, *""*)
> ||modparam(*"alias_db"*, *"db_url"*,
> *"mysql://opensips:opensipsrw@localhost/opensips"*)
> ||modparam(*"domain"*, *"db_url"*,
> *"mysql://opensips:opensipsrw@localhost/opensips"*)
> ||modparam(*"domain"*, *"db_mode"*, 1) /# Use caching
> /|/||||/|modparam(*"presence|presence_xml"*, *"db_url"*,
> *"mysql://opensips:opensipsrw@localhost/opensips"*)
> ||modparam(*"presence_xml"*, *"force_active"*, 1)
> ||modparam(*"presence"*, *"server_address"*,
> *"sip:192.168.2.10:5060 <http://192.168.2.10:5060>
> <http://192.168.2.10:5060>"*)
>
> ||
> ||/####### Routing Logic ########
> /|/||||/|
> ||/# main request routing logic
> /|/||||/|route{
> ||
> || xlog(*"L_INFO"*, *"->Main Routing Block START"*);
> ||
> || *if* (!mf_process_maxfwd_header(*"10"*)) {
> || xlog(*"L_INFO"*, *"-->Exceeded Max-forwards"*);
> || sl_send_reply(*"483"*,*"Too Many Hops"*);
> || *exit*;
> || }
> || *if* (msg:len >= 2048) {
> || xlog(*"L_INFO"*, *"-->Exceeded Message Size"*);
> || sl_send_reply(*"513"*, *"Message too big"*);
> || *exit*;
> || }
> ||
> || *if* (!method==*"REGISTER"*) ||
> record_route();
> || || *if* (loose_route()) {
> || append_hf(*"P-hint: rr-enforced\r\n"*);
> || route(1);
> || }
> || || *if* (!uri==myself) {
> || append_hf(*"P-hint: outbound\r\n"*);
> || route(1);
> || }
> ||
> || *if* (uri==myself) {
> || *if* (method==*"REGISTER"*) {
> || save(*"location"*);
> || *exit*;
> || }
> || lookup(*"aliases"*);
> || *if* (!uri==myself) {
> || append_hf(*"P-hint: outbound
> alias\r\n"*);
> || route(1);
> || }
> || *if* (!lookup(*"location"*)) {
> || sl_send_reply(*"404"*, *"Not Found"*);
> || *exit*;
> || }
> || append_hf(*"P-hint: userloc applied\r\n"*);
> || }
> || route(1);
> ||}
> ||
> ||
> ||route[1] {
> || *if* (!t_relay()) {
> || sl_reply_error();
> || }
> || *exit*;
> ||}|
> ------------
> I'm trying to create the most simple possible configuration
> file. No features, except for being able to make calls and use
> a mysql backend.
> I'm also trying to find out what the "uri" and the "myself"
> resolve to. Have looked everywhere in the openSIPS cookbooks,
> but can't find anything. Are these actual variables?
>
> Does "uri" == "$ru"?
> What does the "myself" resolve to?
> Does "method" == "$rm"?
> Is the "msg:len" variable meant to be "$cl"?
> Any info is much appreciated.
> Cheers, Sebastian.
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
More information about the Users
mailing list