For some reason I cannot get allow_trusted() to evaluate to true for a
matching URI.
Relevant sections of the config (OpenSER 1.1):
modparam("auth_db|permissions|uri_db|usrloc|domain", "db_url",
"mysql://username:password@localhost/ser")
modparam("permissions", "db_mode", 0)
modparam("permissions", "trusted_table", "trusted")
route {
if (!allow_trusted()) {
xlog("!allow_trusted. rs $rs si $si rm $rm ru $ru tu $tu fu
$fu rr $rr");
};
}
The trusted table contains the following:
+----------------+-------+--------------+------+
| src_ip | proto | from_pattern | tag |
+----------------+-------+--------------+------+
| 202.200.20.200 | any | NULL | NULL |
+----------------+-------+--------------+------+
1 row in set (0.00 sec)
I can see that the following query is being executed:
select proto,from_pattern,tag from trusted where src_ip='202.200.20.200'
But no match is made because the log file shows:
Dec 17 15:37:56 beta /usr/local/sbin/openser[7209]: !allow_trusted. rs
<null> si 147.200.20.200 rm INVITE ru sip:5551234@147.200.20.200 tu
sip:5551234@147.200.20.200 fu sip:021446202@202.200.20.200 rr <null>
Could anyone provide any suggestions on what I'm doing wrong?
Regards
Cameron
Hi list,
are there alternatives to Radius for billing integration with OpenSER? The problem Radius seems to pose me
is that it is per user and therefore requires to have a full database of every softphone/SNOM/etc user, which is
admin intensive. Does anyone know if there is a method of accounting data per SIP peer (for example per
Asterisk system attached to OpenSER) which could record call details without needing to know about all the
actual handset users? I suppose you can do anything you want with the accounting module so this is really
a "does anyone already do this" question so I dont need to invent everything from scratch...
thanks for any suggestions, Andy.
I have a UA that I am attempting to register to OpenSER 1.1.1 via TCP and
the only hint I can give it the following statement that is placed in the
syslog file.
WARNING: io_wait_loop_sigio_rt: ignoring event 41 on fd 0 (fm->fd=0,
fm->data=(nil))
I have placed in the first line of the main route the following just to see
if the registration is making it to the main route and it is not.
if(proto==TCP)
{
xlog("L_INFO","SIP message was received over TCP\n");
};
I can tell from tcpdump that the packet is being received and a complete
SYN,ACK is successful.
Global Config:
listen=10.1.1.28:5060
disable_tls=1
tcp_children=4
tcp_send_timeout=3
tcp_connect_timeout=5
tcp_connection_lifetime=3600
A netsat shows the port in a listening state. When starting OpenSER it shows
that it is listening on TCP:IP_ADDR:5060
When the UA sends a register request, a connection is established, the one
statement above is placed in the log file and then the connection goes to a
CLOSE_WAIT state.
Any suggestions.
I know at least one of us has seen this before. I searched the list
archives and found one thread in Nov 06 discussing the same issue; but no
follow-up of resolution posted.
http://lists.openser.org/pipermail/users/2006-November/007653.html
--
-- Krom
kyle.romulas(a)gmail.com
Hi, I want to set a redirect to a web page in CPL but I get error:
<cpl>
<incoming>
<lookup source="registration">
<success>
<proxy />
</success>
<notfound>
<location url="http://google.es">
<redirect />
</location>
</notfound>
</lookup>
</incoming>
</cpl>
~# openserctl fifo LOAD_CPL sip:user@domain /etc/openser/cpl/user(a)domain.xml
500 Bad CPL file
Log:: Error: Encoding of the CPL script failed
It works if I set (as usual):
<location url="sip:user2@domain">
Why doesn't CPL module allow redirection to non SIP target?
--
Iñaki Baz Castillo
Dear all
I have post many question about multidomain support help for openser i need cfg file which you ppl are useing caz openser.cfg is bit harder for me and i have also find many help on ser on google but still i m confuse about parmeter and options
if anybody have done this configuration send it me or explain me how to do it
----PGP Signature--
Satish Patel
mobile:- +91-9818875535
http://www.linuxbug.org
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
using openser 1.3, is there a way to get a count of how many items there are
in an avp variable other than:
while ( is_avp_set("$avp(s:fork_uri)") )
{
$var(fork_uri_count) = $var(fork_uri_count) + 1 ;
avp_copy("$avp(s:fork_uri)", "$avp(s:fork_uri_rev_order)/d") ;
}
then if you wanted things in the same order as they were originally you
would also have to:
while ( is_avp_set("$avp(s:fork_uri_rev_order)") )
{
avp_copy("$avp(s:fork_uri_rev_order)", "$avp(s:fork_uri)/d") ;
}
talk about an expensive counting
Several ways I could see this implimented:
New function avp_count("$avp(s:myvar)", "$avp(s:count_result)") or
avp_count("$avp(s:myvar)") where $rc contains the result.
is_avp_set("$avp(s:myvar)") where $rc is set to the count, probably best
as you could test if exitst and the go right to processing.
avp_check("$avp(s:myvar)", "cn/g") where $rc is set to the count. It
could always set $rc to count of found matches for when the g flag is used.
Of course using $rc for is_avp_set() or avp_check() depends on if setting
that to non-zero makes a test like if( is_avp_set("$avp(s:myvar)") ) always
trigger as false.
also on getting a count ...
another place I need to get a count is how many times a character(s) (or
shoot the moon, a regex) occurs in a string.
for handeling things like transformations like {s.select,index,seperator},
eg: $(var(findme){ s.select,$var(count),,})
sidenote ... (not sure what values for seperator are valid)
a transformation like {s.count,seperator}
Here is an example of something I was trying to do that would have benifited
from knowing the count of seperator.
I think that I got a warning or error when the test for the while indexed
past the end of the string.
xlog("L_INFO", "Original findme list to parse: $avp(s:findme)\n");
if ( $avp(s:findme) =~ "\|" )
{
$var(findme) = $(avp(s:findme){s.select,0,|}) ;
$var(findme_tm_out) = $(avp(s:findme){s.select,1,|}) ;
xlog("L_INFO", "This findme has a timeout: $var(findme_tm_out)\n");
}
else
{
$var(findme) = $avp(s:findme) ;
}
xlog("L_INFO", "findme list to parse: $var(findme)\n");
$var(findme_cnt) = 0 ;
while ($(var(findme){s.select,$var(findme_cnt),,}{s.len }) > 0 )
{
xlog("L_INFO", "Loop $var(findme_cnt), Adding
$(var(findme){s.select,$var(findme_cnt),,})
to TO_list\n");
$avp(s:TO_list) = $(var(findme){s.select,$var(findme_cnt),,}) ;
$var(findme_cnt) = $var(findme_cnt) + 1 ;
}
can/do $var()'s stack like $avp()'s?
Thanks
Dave
te refieres a ésto? ya está en el openser.cfg
if (!method=="REGISTER")
record_route();
if (loose_route()) {
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
>
>
> El Friday 14 December 2007 13:55:01 David Villasmil Govea escribi?:
> > * Furthermore,?Openser doesn't see all INVITES+BYE, so i can't make
> cdrs!!
> > I've read somewhere that to log all transaction messages i should have
> > "strict route" as oppossed to "loose route".
>
> No, you need to add "Record-Route" header. This is done by
> "record_route()"
> function of rr module.
>
>
--
DVG
--
Imagination is more important than knowledge
Albert Einstein
te refieres a ésto? ya está en el openser.cfg
if (!method=="REGISTER")
record_route();
if (loose_route()) {
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
>
>
> El Friday 14 December 2007 13:55:01 David Villasmil Govea escribi?:
> > * Furthermore,?Openser doesn't see all INVITES+BYE, so i can't make
> cdrs!!
> > I've read somewhere that to log all transaction messages i should have
> > "strict route" as oppossed to "loose route".
>
> No, you need to add "Record-Route" header. This is done by
> "record_route()"
> function of rr module.
>
>
--
DVG
--
Imagination is more important than knowledge
Albert Einstein