Hi,
My billing system doesn't correlate START/STOP accounting packets and
use Cisco-VSA like attributes.
I need to do an accounting compatible with my billing system from
OpenSER so i've done a dirty method like that:
i know it's not really performance but it's the only way i can do that.
The problem is with OpenSER 1.1.x that generate accounting with the
attribute filled with the same value of "disconnect_time". example:
h323-setup-time = '1151511700'
h323-connect-time = '1151511700'
h323-disconnect-time = '1151511700'
the xlog debug output of openser1.1.x i have added is with correct
attribute values.
with OpenSER 1.0.1 everything works fine.
CONFIGS:
with OpenSER 1.1.x:
modparam("acc", "radius_extra", "h323-setup-time=$avp(setup_time);
h323-connect-time=$avp(connect_time);
h323-disconnect-time=$avp(disconnect_time)")
modparam("avpops","avp_aliases","setup_time=s:setup_time")
modparam("avpops","avp_aliases","connect_time=s:connect_time")
modparam("avpops","avp_aliases","disconnect_time=s:disconnect_time")
if (is_method("INVITE"))
{
avp_write("$Ts","$avp(setup_time)");
avp_db_store("$from","$avp(setup_time)");
} else if (is_method("ACK")) {
avp_write("$Ts","$avp(connect_time)");
avp_db_store("$from","$avp(connect_time)");
} else if (is_method("BYE")) {
avp_write("$Ts","$avp(disconnect_time)");
avp_db_store("$from","$avp(disconnect_time)");
};
if (is_method("BYE")) {
avp_db_load("$from","$avp(setup_time)");
avp_db_load("$from","$avp(connect_time)");
avp_db_load("$from","$avp(disconnect_time)");
xlog("L_INFO","Before accounting
SETUP_TIME[$avp(setup_time)] CONNECT_TIME[$avp(connect_time)]
DISCONNECT_TIME[$avp(disconnect_time)]");
setflag(3);
setflag(5);
avp_db_delete("$from","$avp(setup_time)");
avp_db_delete("$from","$avp(connect_time)");
avp_db_delete("$from","$avp(disconnect_time)");
};
With OpenSER 1.0.1:
modparam("acc", "radius_extra", "h323-setup-time=$avp($setup_time);
h323-connect-time=$avp($connect_time)
; h323-disconnect-time=$avp($disconnect_time)")
modparam("avpops","avp_aliases","setup_time=s:setup_time")
modparam("avpops","avp_aliases","connect_time=s:connect_time")
modparam("avpops","avp_aliases","disconnect_time=s:disconnect_time")
if (is_method("INVITE"))
{
avp_write("0","i:1");
avp_printf("i:1", "$Ts");
avp_copy("i:1","$setup_time");
avp_db_store("$from","$setup_time");
avp_delete("i:1");
} else if (is_method("ACK")) {
avp_write("0","i:1");
avp_printf("i:1", "$Ts");
avp_copy("i:1","$connect_time");
avp_db_store("$from","$connect_time");
avp_delete("i:1");
} else if (is_method("BYE")) {
avp_write("0","i:1");
avp_printf("i:1", "$Ts");
avp_copy("i:1","$disconnect_time");
avp_db_store("$from","$disconnect_time");
avp_delete("i:1");
};
if (is_method("BYE")) {
avp_db_load("$from","$setup_time");
avp_db_load("$from","$connect_time");
avp_db_load("$from","$disconnect_time");
xlog("L_INFO","Before accounting
SETUP_TIME[$avp($setup_time)] CONNECT_TIME[$avp($connect_time)]
DISCONNECT_TIME[$avp($disconnect_time)]");
setflag(3);
setflag(5);
avp_db_delete("$from","$setup_time");
avp_db_delete("$from","$connect_time");
avp_db_delete("$from","$disconnect_time");
};
Further to below problem regarding BYEs not loose_routed.
I see now that openser sends the invite with a wierd colon at the end of
"127.0.0.1:" in record route. The same colon is of course also present in
the BYEs which loop.
Is it possible that OS gets confused by this when receiving the BYE ? What
causes this - How can I work around this ?
Thanks a lot for your help in the matter. I am using openser 1.0.1
Gerry
Inivite sent by OS:
INVITE sip:7336058@127.0.0.1:5061 SIP/2.0
Max-Forwards: 10
Record-Route: <sip:127.0.0.1:;r2=on;ftag=as58f53672;lr=on>
Record-Route: <sip:101.101.101.101;r2=on;ftag=as58f53672;lr=on>
Via: SIP/2.0/UDP 127.0.0.1:5060;branch=z9hG4bK39c3.dcf37ad6.0
Via: SIP/2.0/UDP 202.202.202.202:5060;branch=z9hG4bK2955936f
From: "7654321" <sip:7654321@XXXXXXXXXXXX>;tag=as58f53672
To: <sip:7654321@XXXXXXXXXXXX>
Contact: <sip:7654321@202.202.202.202>
Call-ID: 5cdc877611378bf05dc78ef3035be7fb@xxxxxxxxxxxxxx
CSeq: 103 INVITE
User-Agent: Asterisk PBX
Date: Thu, 29 Jun 2006 07:23:52 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Content-Type: application/sdp
Content-Length: 240
-----Original Message-----
From: G.Jacobsen [mailto:g_jacobsen@yahoo.co.uk]
Sent: Donnerstag, 29. Juni 2006 01:04
To: Devel@Openser. Org
Subject: loose_route goes strict with BYEs
Gentlemen,
I have openser sitting on the same machine as another UA - openser is on
port 5060 the other on 5061. BYEs by the UA are not loose_routed to the
originating client - causing the BYEs to loop on openser with 513 message
too big.
I am not sure whether this is related - but a similar problem seems to have
been touched here before - still cant find the solution.
http://openser.org/pipermail/devel/2006-April/002540.html
I have put all aliases with the port 5060 now - still doesnt help.
If I read the debug correctly openser does strict routing on this line - why
?
"rewrite_uri: Rewriting Request-URI with
'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on' "
I would be most grateful if someone could explain which parameter causes the
BYE to go strict.
TIA Gerry
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: SIP Request:
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: method: <BYE>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: uri:
<sip:1234567@sip.somedomain.com:5060>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: version: <SIP/2.0>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=2
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: add_param:
tag=109880961431220
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:parse_to:end
of header reached, state=29
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
get_hdr_field: <To> [55]; uri=[sip:1234567@sip.somedomain.com:5060]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: to body
[<sip:1234567@sip.somedomain.com:5060>]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: Found param type
235, <rport> = <n/a>; state=6
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: Found param type
232, <branch> = <z9hG4bK719885386>; state=16
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: end of header
reached, state=5
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers: Via
found, flags=2
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers: this
is the first via
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: After parse_msg...
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: preparing to run
routing scripts...
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=100
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: get_hdr_field: cseq
<CSeq>: <2> <BYE>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
DEBUG:maxfwd:is_maxfwd_present: value = 70
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: add_param:
tag=1957747793
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:parse_to:end
of header reached, state=29
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=200
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: is_preloaded: No
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if host==us: 14==9 && [sip.somedomain.com] == [127.0.0.1]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if port 5060 matches port 5060
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if host==us: 14==13 && [sip.somedomain.com] == [111.111.111.111]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if port 5060 matches port 5060
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if host==us: 14==9 && [sip.somedomain.com] == [127.0.0.1]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if port 5060 matches port 5060
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if host==us: 14==13 && [sip.somedomain.com] == [111.111.111.111]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if port 5060 matches port 5060
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if host==us: 9==9 && [127.0.0.1] == [127.0.0.1]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if port 5060 matches port 5060
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: grep_sock_info -
checking if host==us: 9==9 && [127.0.0.1] == [127.0.0.1]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
DBG:rr:run_rr_callbacks: callback id 0 entered
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
DEBUG:uac:restore_from: getting 'vsf' Route param
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
DEBUG:uac:restore_from: Route param 'vsf' not found
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: after_strict: Next
hop: 'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on' is loose router
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=ffffffffffffffff
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: get_hdr_body
: content_length=0
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: found end of header
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: rewrite_uri:
Rewriting Request-URI with
'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on'
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: after_strict: The
last route URI: 'sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on'
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=ffffffffffffffff
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=58
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: rc_get_seqnbr:
couldn't open sequence file /var/run/radius.seq: Permission denied
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=58
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: ACC: request
accounted: method=BYE, i-uri=sip:1234567@sip.somedomain.com:5060,
o-uri=sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on,
call_id=2BCF5051-F28C-4CCA-AE6B-D895607B668E(a)81.198.36.24,
from=<sip:7654321@sip.somedomain.com:5060>;tag=1957747793, code=200 ok
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: t_newtran:
msg id=2 , global msg id=1 , T on entrance=0xffffffff
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=ffffffffffffffff
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: parse_headers:
flags=78
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: t_lookup_request:
start searching: hash=51354, isACK=0
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: RFC3261
transaction matching failed
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
t_lookup_request: no transaction found
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DBG:
trans=0x405797d8, callback type 1, id 0 entered
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG: mk_proxy:
doing DNS lookup...
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
check_via_address(127.0.0.1, 127.0.0.1, 0)
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
add_to_tail_of_timer[4]: 0x405798f4
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: SIP Request:
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: DEBUG:
add_to_tail_of_timer[0]: 0x40579904
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: method: <BYE>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: SER: new
transaction fwd'ed
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: uri:
<sip:111.111.111.111;r2=on;ftag=109880961431220;lr=on>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]:
DEBUG:destroy_avp_list: destroying list (nil)
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: version: <SIP/2.0>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19818]: receive_msg:
cleaning up
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers:
flags=2
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: add_param:
tag=109880961431220
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG:parse_to:end
of header reached, state=29
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG:
get_hdr_field: <To> [55]; uri=[sip:1234567@sip.somedomain.com:5060]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: to body
[<sip:1234567@sip.somedomain.com:5060>]
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: Found param type
232, <branch> = <z9hG4bKa98c.f4c21e03.0>; state=16
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: end of header
reached, state=5
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: Via
found, flags=2
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: this
is the first via
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: After parse_msg...
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: preparing to run
routing scripts...
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers:
flags=100
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: Found param type
235, <rport> = <5061>; state=6
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: Found param type
232, <branch> = <z9hG4bK719885386>; state=16
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: end of header
reached, state=5
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: Via
found, flags=100
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers: this
is the second via
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: get_hdr_field: cseq
<CSeq>: <2> <BYE>
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]:
DEBUG:maxfwd:is_maxfwd_present: value = 69
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: add_param:
tag=1957747793
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG:parse_to:end
of header reached, state=29
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: parse_headers:
flags=200
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: DEBUG: get_hdr_body
: content_length=0
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: found end of header
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: find_first_route:
No Route headers found
Jun 29 00:32:16 gatesip1 /usr/local/sbin/openser[19830]: loose_route: There
is no Route HF
___________________________________________________________
All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease of use." - PC Magazine
http://uk.docs.yahoo.com/nowyoucan.html
we use SER as the SIP proxy and have a route/voice termination with voxee.
We want to share/use this route from our ip phones.
Is there a way to add this route to ser or operser. voxee requires a
registration with the userid & password provided by voxee.
So, when a call is made , SER would have to rewrite the INVITE so that the
originator has the username/password of the voxee account that had we had
setup.
In the eyes of voxee the calls would be coming in from one
user(the account that we opened).
Please let me know how to achieve this editing openser.cfg, using modules etc
Thanks
Hi all,
Is there a pseudo variables with the disconnect code for a calls?
I need to catch the value of the attribute Sip-Response-Code but for
another attribute like:
modparam("acc","radius_extra","h323-disconnect-cause=$code");
how can i do this?
regards
:tele
I'm running CentOS 4.3 x86_64 on a dual opteron 246 system with 1 gig of
ram, kernel 2.6.9-34.ELsmp.
Ser runs fine with quite a few modules, but when I enable acc.so, I
immediately get a segfault.
I ran it under gdb and was able to obtain this information:
#0 0x0000002a9578516f in insert_tmcb (cb_list=0x0, types=1,
f=0x2a955675c7 <acc_onreq>, param=0x0) at t_hooks.c:99
#1 0x0000002a95785494 in register_tmcb (p_msg=0x0, t=0x0, types=1,
f=0x2a955675c7 <acc_onreq>, param=0x0) at t_hooks.c:166
#2 0x0000002a955674c7 in mod_init () at acc_mod.c:308
#3 0x0000000000430d79 in init_mod (m=0x5d5228) at sr_module.c:474
#4 0x0000000000430ce8 in init_mod (m=0x5d52e8) at sr_module.c:471
#5 0x0000000000430ce8 in init_mod (m=0x5d53a8) at sr_module.c:471
#6 0x0000000000430ce8 in init_mod (m=0x5d5468) at sr_module.c:471
#7 0x0000000000430ce8 in init_mod (m=0x5d5528) at sr_module.c:471
#8 0x0000000000430ce8 in init_mod (m=0x5d55e8) at sr_module.c:471
#9 0x0000000000430ce8 in init_mod (m=0x5d56a8) at sr_module.c:471
#10 0x0000000000430ce8 in init_mod (m=0x5d5768) at sr_module.c:471
#11 0x0000000000430e05 in init_modules () at sr_module.c:497
#12 0x0000000000416f3c in main (argc=3, argv=0x7fbffffa18) at main.c:1577
---------------------------------------------
Starting program: /usr/local/sbin/ser -V
version: ser 0.9.6 (x86_64/linux)
flags: STATS: Off, EXTRA_DEBUG, USE_IPV6, USE_TCP, DISABLE_NAGLE,
USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC,
FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535
@(#) $Id: main.c,v 1.197.2.1 2005/07/25 16:56:24 andrei Exp $
main.c compiled on 09:19:06 Jun 28 2006 with gcc 3.4.5
Program exited normally.
---------------------------------------------------
I also did a bt full:
(gdb) bt full
#0 0x0000002a9578516f in insert_tmcb (cb_list=0x0, types=1,
f=0x2a955675c7 <acc_onreq>, param=0x0) at t_hooks.c:99
cbp = (struct tm_callback *) 0x2a96010a78
#1 0x0000002a95785494 in register_tmcb (p_msg=0x0, t=0x0, types=1,
f=0x2a955675c7 <acc_onreq>, param=0x0) at t_hooks.c:166
cb_list = (struct tmcb_head_list *) 0x0
#2 0x0000002a955674c7 in mod_init () at acc_mod.c:308
load_tm = 0x2a9578d4a0 <load_tm>
#3 0x0000000000430d79 in init_mod (m=0x5d5228) at sr_module.c:474
No locals.
#4 0x0000000000430ce8 in init_mod (m=0x5d52e8) at sr_module.c:471
No locals.
#5 0x0000000000430ce8 in init_mod (m=0x5d53a8) at sr_module.c:471
No locals.
#6 0x0000000000430ce8 in init_mod (m=0x5d5468) at sr_module.c:471
No locals.
#7 0x0000000000430ce8 in init_mod (m=0x5d5528) at sr_module.c:471
No locals.
#8 0x0000000000430ce8 in init_mod (m=0x5d55e8) at sr_module.c:471
No locals.
#9 0x0000000000430ce8 in init_mod (m=0x5d56a8) at sr_module.c:471
No locals.
#10 0x0000000000430ce8 in init_mod (m=0x5d5768) at sr_module.c:471
No locals.
#11 0x0000000000430e05 in init_modules () at sr_module.c:497
No locals.
#12 0x0000000000416f3c in main (argc=3, argv=0x7fbffffa18) at main.c:1577
cfg_stream = (FILE *) 0x6cd010
c = -1
r = 4224491
tmp = 0x39d1014c40 ""
tmp_len = 0
port = 0
proto = 0
options = 0x46d4e8 "f:cm:b:l:n:N:rRvdDETVhw:t:u:g:P:G:i:x:"
ret = -1
seed = 4256706975
rfd = 7
Thank you, Bogdan.
I'm going to learn textops sources.
Leonid
-----Original Message-----
From: Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
Sent: Wednesday, June 28, 2006 8:25 PM
To: Leonid Fainshtein
Cc: users(a)openser.org
Subject: Re: [Users] Using subst() of Textops module
Hi Leonid,
that wasn't a mistake - "t" si short format to "To". "\u" is a marker
for current RURI - is not a pseudo variable, it's something strictly
related to subst ops. Unfortunately this is not highly documented.
regards,
bogdan
Leonid Fainshtein wrote:
>Hi,
>In the textops module doc
>(http://openser.org/docs/modules/1.0.x/textops.html#AEN124) there is an
>example that demonstrates how to replace URI in the header "To" with
>the message URI:
>
>
># replace the uri in to: with the message uri (just an example) if (
>subst('/^To:(.*)sip:[^@]*@[a-zA-Z0-9.]+(.*)$/t:\1\u\2/ig') ) {};
>
>
>After I've fixed a small mistake (instead of /t: I put /To:) it worked.
>But I don't understand how does it work. It looks like "u" is
>substituted by URI from R-URI but I didn't find such core variable.
>Could somebody explain me?
>
>Thank you in advance,
>Leonid Fainshtein
>
>_______________________________________________
>Users mailing list
>Users(a)openser.org
>http://openser.org/cgi-bin/mailman/listinfo/users
>
>
>
Hi Concy,
CDRTool is well documented, here are the links:
http://download.dns-hosting.info/CDRTool/README.txthttp://download.dns-hosting.info/CDRTool/INSTALL.txthttp://download.dns-hosting.info/CDRTool/RATING.txt
There is no free support from AG Projects because of limited time
resources but it is functional, documented and licensed GPL without
restrictions.
There is a mailing list setup somewhere by a user of this mailing
lists but I forgot where it is, if anyone knows I can add it to the
documentation.
Regards
Adrian
==============
You can try out these two tools
TraBas and Istpp
Message: 15
Date: Thu, 22 Jun 2006 17:53:30 +0200 (CEST)
From: <hgaillac-sip at yahoo.fr>
Subject: [Serusers] [Asterisk-Users] CDRTool / asterisk billing based
on realtime
To: asterisk-users at lists.digium.com
Cc: serusers at iptel.org
Message-ID: <20060622155330.80131.qmail at web25515.mail.ukl.yahoo.com>
Content-Type: text/plain; charset=iso-8859-1
Hello,
I read ag-projects it does'not provide support for its
cdrtool pseudo gpl licensed .
It's one of the bad open source project even seen .
No documentation ...
Friends,
Can someone tell me what the "waiting" under the "Transaction
Statistics"
means when you execute "sc moni 1"?
Does it show the number of SIP transactions in "waiting" state?
What is this "waiting" state?
It seems that there is a bug in my system because when there are
currently no calls on SER,
waiting shows some non-zero number and it continues to increase as time
goes on and never
goes back to zero.
Does anyone know where this counter is decremented.
I traced through the tm transaction module and it seems to me that in
the function tm_stats, in file t_stats.h, "s_waiting[process_no]++"
increments this counter. But where is decremented when a transaction
is completed?
I very much appreciate your help
ramin
------------------------------------------------------------------------
----------------------------------------
Here is the "sc moni 1" output on my SER server when there are no active
calls:
[cycle #: 1; if constant make sure server lives and fifo is on]
Server: Sip EXpress router (0.9.2 (i386/linux))
Now: Wed Jun 28 16:49:26 2006
Up Since: Tue Jun 27 11:21:33 2006
Up time: 106073 [sec]
Transaction Statistics
Current: 0 (13 waiting) Total: 3436 (0 local)