On 3/26/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Asterisk Expert wrote:
So you mean it is not possible to access values set from one dialog(INVITE-200 OK) in (BYE-200OK) ?
You can use avp_db_query to store a certain value into a table during INVITE and fetch it back during BYE. Of course you need a key which is identical during the dialog - e.g. callid+fromtag+totag.
But totag will be null before relaying invite request, isn't it? Currently I did it with just call id. Let me know if it will create any problem.
regards
klaus
Is there any alternative? I must have to use custom CDR not db or
radius.
On 3/26/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Asterisk Expert wrote:
I thought one call is one transaction isn't it?
No.
A transaction is a request till the final response, e.g. INVITE-200 OK. or OPTIONS-200 Ok.
In SIP terminology a call is named "dialog". A dilaog consists of multiple transaction. The first transaction is the "dialog creating transaction" (e.g. INVITE) and the last transaction in this dialog is the "dialog terminating transcation" e.g. BYE.
Thus, INVITE and BYE are seperate transactions which belong to the same dialog.
Openser is transaction statefull, but not dialog statefull.
regards klaus
On 3/26/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
I guess you are trying to use an AVP created during INVITE in the
BYE
transaction. This is not possible as the BYE is a different
transaction
and AVP lifetime is limited to a single transaction.
regards klaus
Asterisk Expert wrote:
Hello, I'm trying to implement custom CDR using OpenSER. What I do is,
insert a
record in cdr table on invite request. I get the id of the
inserted
row
using LAST_INSERT_ID() function of mysql in avp_db_query and
store in
avp
variable rowid. I set connect time in reply route when I receive
200
OK
for
Invite request. When I get 200 OK for BYE request, I update the
cdr
record
and store connect time, disconnect time, duration, etc. But at
this
place(reply route) I get the null rowid so as connect time.
According to tm
module's onreply_avp_mode parameter, I should be able to see the
values
set
from request route in reply route if I set that parameter to 1
but it
has no effect. I can not use either avp variables or script variables as transaction variables to record custom cdr. Can anyone guide me implementing this scenario or tell me what I've done wrong?
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Asterisk Expert wrote:
On 3/26/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Asterisk Expert wrote:
So you mean it is not possible to access values set from one dialog(INVITE-200 OK) in (BYE-200OK) ?
You can use avp_db_query to store a certain value into a table during INVITE and fetch it back during BYE. Of course you need a key which is identical during the dialog - e.g. callid+fromtag+totag.
But totag will be null before relaying invite request, isn't it? Currently I did it with just call id. Let me know if it will create any problem.
Yes, this will create problems. The call-id is not enough. You can wirte the CDR in the reply route of the 200 Ok - then you have the totag.
Or you use openser's acc module.
regards klaus
regards
klaus
Is there any alternative? I must have to use custom CDR not db or
radius.
On 3/26/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Asterisk Expert wrote:
I thought one call is one transaction isn't it?
No.
A transaction is a request till the final response, e.g. INVITE-200
OK.
or OPTIONS-200 Ok.
In SIP terminology a call is named "dialog". A dilaog consists of multiple transaction. The first transaction is the "dialog creating transaction" (e.g. INVITE) and the last transaction in this dialog is the "dialog terminating transcation" e.g. BYE.
Thus, INVITE and BYE are seperate transactions which belong to the
same
dialog.
Openser is transaction statefull, but not dialog statefull.
regards klaus
On 3/26/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
I guess you are trying to use an AVP created during INVITE in the
BYE
transaction. This is not possible as the BYE is a different
transaction
and AVP lifetime is limited to a single transaction.
regards klaus
Asterisk Expert wrote: > Hello, > I'm trying to implement custom CDR using OpenSER. What I do is, insert a > record in cdr table on invite request. I get the id of the
inserted
row
> using LAST_INSERT_ID() function of mysql in avp_db_query and
store in
avp > variable rowid. I set connect time in reply route when I receive
200
OK
for > Invite request. When I get 200 OK for BYE request, I update the
cdr
record > and store connect time, disconnect time, duration, etc. But at
this
> place(reply route) I get the null rowid so as connect time. According to tm > module's onreply_avp_mode parameter, I should be able to see the
values
set > from request route in reply route if I set that parameter to 1
but it
> has no > effect. I can not use either avp variables or script variables as > transaction variables to record custom cdr. Can anyone guide me > implementing > this scenario or tell me what I've done wrong? > > >
> > _______________________________________________ > Users mailing list > Users@openser.org > http://openser.org/cgi-bin/mailman/listinfo/users