Thanks David for your answer, but can you explain how radius can do that since sending BYE messages is more at the signaling level. I dont quite understand how radius can even communicate at the SIP signaling level.
From: David Villasmil Sent: Sunday, August 31, 2008 4:33 PM To: Matteo D'Amato Subject: Re: [Kamailio-Users] CDRTool and Prepaid
You could use radius. On Sun, Aug 31, 2008 at 10:09 PM, Matteo D'Amato > wrote: Hello, In "/doc/PREPAID.txt" it talks about "an external call control module (not provided by CDRTool) that maintains call status and terminates calls by sending BYEs to both SIP end-points" What is this 3-party module and where can I get it? --Matteo
_______________________________________________ Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
El Domingo, 31 de Agosto de 2008, Matteo D'Amato escribió:
Thanks David for your answer, but can you explain how radius can do that since sending BYE messages is more at the signaling level. I dont quite understand how radius can even communicate at the SIP signaling level.
Of course Radius itself can't do it.
There is a related project that I've not tried but it could be what you are looking for: http://frad-cdrtool.sourceforge.net/
Thanks Iñaki for your suggestion. After reading the documentation at the site you mentioned below I now understand that the "external call control module" that is discussed in "/doc/PREPAID.txt" of CDRTool is a modified freeradius radius server which is "able to connect on the CDRTool prepaid engine through TCP API and implement a basic prepaid level for calls passing through OpenSER" and it is able to send "information back to OpenSER through the recommended way of SIP-AVP. The avps received will be available in openser as: callMaxDur and credit, where callMaxDur is the maximum duration the user is allowed to be connected with the destination and credit represents the amount of credit available at starting of the call"
Now going back to my question about this module that is able to "maintain call status and terminate calls by sending BYEs to both SIP end-points" this means that once the "callMaxDur" and "credit " information is sent back from freeradius to OpenSER, OpenSER is the one "sending BYEs to both SIP end-points". How can I make OpenSER do this? How can OpenSER use the callMaxDur information sent in the SIP-AVP pair to terminate a call with a BYE after X amount of minutes?
--Matteo
-----Original Message----- From: users-bounces@lists.kamailio.org [mailto:users-bounces@lists.kamailio.org] On Behalf Of Iñaki Baz Castillo Sent: Sunday, August 31, 2008 5:17 PM To: users@lists.kamailio.org Subject: Re: [Kamailio-Users] CDRTool and Prepaid
El Domingo, 31 de Agosto de 2008, Matteo D'Amato escribió:
Thanks David for your answer, but can you explain how radius can do that since sending BYE messages is more at the signaling level. I dont quite understand how radius can even communicate at the SIP signaling level.
Of course Radius itself can't do it.
There is a related project that I've not tried but it could be what you are looking for: http://frad-cdrtool.sourceforge.net/
El Lunes, 1 de Septiembre de 2008, Matteo D'Amato escribió:
How can OpenSER use the callMaxDur information sent in the SIP-AVP pair to terminate a call with a BYE after X amount of minutes?
Via a MI function of dialog module:
http://www.kamailio.org/docs/modules/1.3.x/dialog.html#AEN472
How would you build this inside openser.cfg using this function?
-----Original Message----- From: users-bounces@lists.kamailio.org [mailto:users-bounces@lists.kamailio.org] On Behalf Of Iñaki Baz Castillo Sent: Sunday, August 31, 2008 6:09 PM To: users@lists.kamailio.org Subject: Re: [Kamailio-Users] CDRTool and Prepaid
El Lunes, 1 de Septiembre de 2008, Matteo D'Amato escribió:
How can OpenSER use the callMaxDur information sent in the SIP-AVP pair to terminate a call with a BYE after X amount of minutes?
Via a MI function of dialog module:
http://www.kamailio.org/docs/modules/1.3.x/dialog.html#AEN472
El Lunes, 1 de Septiembre de 2008, Matteo D'Amato escribió:
How would you build this inside openser.cfg using this function?
Never done, but maybe using EXEC module and calling to an external script that performs the MI command.
Hi Matteo,
I was in the same position like you are now, months back.
At least in OpenSER (please note that 1.4 is no longer tagged as OpenSER, but Kamailio) it was hard to do call-control since SER like was not initially developed to be dialog aware server. Dialog module is coming slowly to be there but I have the feeling it will take a bit time more to have a mature product out.
In the mean time I decided to go with an easier approach, so have installed Yate ( I am sure Asterisk or Freeswitch can do the same job as well, but it is just about having yate on hands on that time). In my case Yate will take the timeout value from Private SIP Header and process it as global timer of the call (Yate acts as SBC or B2BUA). If the call does finish before the timer is hit, Yate will do the job and disconnect both legs of the call (inbound and outbound) by sending BYE to both parties, therefore reaching the scenario wanted. However, this is considered like a security whole in Yate since anyone could achieve call disconnects by using the right private header, so u must set also an ip acl inside yate for the calls where u process the private-timer header.
I am at your disposal if you need further help with freeradius-cdrtool connector (planning to release out a new version soon, just hope that the time will stay still to give me that opportunity ;-) ).
Regards, DanB
On Mon, Sep 1, 2008 at 1:11 AM, Matteo D'Amato matteo@ecosma.com wrote:
How would you build this inside openser.cfg using this function?
-----Original Message----- From: users-bounces@lists.kamailio.org [mailto:users-bounces@lists.kamailio.org] On Behalf Of Iñaki Baz Castillo Sent: Sunday, August 31, 2008 6:09 PM To: users@lists.kamailio.org Subject: Re: [Kamailio-Users] CDRTool and Prepaid
El Lunes, 1 de Septiembre de 2008, Matteo D'Amato escribió:
How can OpenSER use the callMaxDur information sent in the SIP-AVP pair to terminate a call with
a
BYE after X amount of minutes?
Via a MI function of dialog module:
http://www.kamailio.org/docs/modules/1.3.x/dialog.html#AEN472
-- Iñaki Baz Castillo
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
El Monday 01 September 2008 11:12:49 DanB escribió:
Hi Matteo,
I was in the same position like you are now, months back.
At least in OpenSER (please note that 1.4 is no longer tagged as OpenSER, but Kamailio) it was hard to do call-control since SER like was not initially developed to be dialog aware server. Dialog module is coming slowly to be there but I have the feeling it will take a bit time more to have a mature product out.
In the mean time I decided to go with an easier approach, so have installed Yate ( I am sure Asterisk or Freeswitch can do the same job as well, but it is just about having yate on hands on that time). In my case Yate will take the timeout value from Private SIP Header and process it as global timer of the call (Yate acts as SBC or B2BUA).
In that scenario Yate is working as B2BUA not as SBC.
If the call does finish before the timer is hit, Yate will do the job and disconnect both legs of the call (inbound and outbound) by sending BYE to both parties, therefore reaching the scenario wanted. However, this is considered like a security whole in Yate since anyone could achieve call disconnects by using the right private header, so u must set also an ip acl inside yate for the calls where u process the private-timer header.
In you put a Kamailio in front of Yate you could ensure taht private-timer headers are only there because Kamailio put them, so no security hole possible.
I am at your disposal if you need further help with freeradius-cdrtool connector (planning to release out a new version soon, just hope that the time will stay still to give me that opportunity ;-) ).
In your solution, you have not considered the situation of two simultaneous calls from the same user.
Hi Raul,
On Mon, Sep 1, 2008 at 12:59 PM, Raúl Alexis Betancor Santana < rabs@dimension-virtual.com> wrote:
El Monday 01 September 2008 11:12:49 DanB escribió:
Hi Matteo,
I was in the same position like you are now, months back.
At least in OpenSER (please note that 1.4 is no longer tagged as OpenSER, but Kamailio) it was hard to do call-control since SER like was not initially developed to be dialog aware server. Dialog module is coming slowly to be there but I have the feeling it will take a bit time more to have a mature product out.
In the mean time I decided to go with an easier approach, so have
installed
Yate ( I am sure Asterisk or Freeswitch can do the same job as well, but
it
is just about having yate on hands on that time). In my case Yate will
take
the timeout value from Private SIP Header and process it as global timer
of
the call (Yate acts as SBC or B2BUA).
In that scenario Yate is working as B2BUA not as SBC.
Is it? I would still consider B2BUA as a private case of SBC and it really suits my scenario.
If the call does finish before the timer is hit, Yate will do the job and disconnect both legs of the call (inbound and outbound) by sending BYE to both parties, therefore reaching the scenario wanted. However, this is considered like a security whole in Yate since anyone could achieve call disconnects by using the right
private
header, so u must set also an ip acl inside yate for the calls where u process the private-timer header.
In you put a Kamailio in front of Yate you could ensure taht private-timer headers are only there because Kamailio put them, so no security hole possible.
That's a case of using Yate only for this purpose, but what about if you use Yate for h323/sip conversion and receive calls from other parties as well. Do u think they cannot set such of header? Do u want to give to the end user the possibility of controlling your softswitch by setting different headers?
I am at your disposal if you need further help with freeradius-cdrtool connector (planning to release out a new version soon, just hope that the time will stay still to give me that opportunity ;-) ).
In your solution, you have not considered the situation of two simultaneous calls from the same user.
We provide free accounts to our users, and each account is individual, so each user will call at one moment in time from one account only (did not get users complaining about that till now). CDRTool initial operation was developed with this policy in mind. You can also use the non-locking feature introduced recently but it's just a matter of your policy, I will stick to mine for the moment.
Cheers, DanB
-- Raúl Alexis Betancor Santana Dimensión Virtual S.L.
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
On Mon, Sep 01, 2008 at 01:28:16PM +0200, DanB wrote:
Is it? I would still consider B2BUA as a private case of SBC and it really suits my scenario.
Thats a matter of "visualization" .. :)
That's a case of using Yate only for this purpose, but what about if you use Yate for h323/sip conversion and receive calls from other parties as well. Do u think they cannot set such of header? Do u want to give to the end user the possibility of controlling your softswitch by setting different headers?
They can not, because H.323 does not allow "custom-headers" you could only use the "standar ones", H.323 it's a binary protocol, so no way to add customs headers and "magicatly" they appears on the UAS side.
In our scenarios (only SIP), everyone MUST pass throught our SBC's so .. we control all headers that goes to the MG's
We provide free accounts to our users, and each account is individual, so each user will call at one moment in time from one account only (did not get users complaining about that till now). CDRTool initial operation was developed with this policy in mind. You can also use the non-locking feature introduced recently but it's just a matter of your policy, I will stick to mine for the moment.
So, in your system you only allow a user to do ONE call?, what happers if one "user" configure his account on a IP-PBX? you only allow him to do ONE call? no been able to do more than one call simultaneous? ... that's a dessing misstake from my point of view.
Best Regads --
On Mon, Sep 1, 2008 at 8:17 PM, rabs@dimension-virtual.com wrote:
On Mon, Sep 01, 2008 at 01:28:16PM +0200, DanB wrote:
Is it? I would still consider B2BUA as a private case of SBC and it
really
suits my scenario.
Thats a matter of "visualization" .. :)
That's a case of using Yate only for this purpose, but what about if you
use
Yate for h323/sip conversion and receive calls from other parties as
well.
Do u think they cannot set such of header? Do u want to give to the end
user
the possibility of controlling your softswitch by setting different
headers?
They can not, because H.323 does not allow "custom-headers" you could only use the "standar ones", H.323 it's a binary protocol, so no way to add customs headers and "magicatly" they appears on the UAS side.
H323 example was given just to point out the need of having the proxy opened to the outside world and not only be behind openser/kamailio. The initial idea we started from was that there is no need of ip acl protection since Yate can sit behind a openser/kamailio. I said yes, but it can sit outside as well.
In our scenarios (only SIP), everyone MUST pass throught our SBC's so .. we control all headers that goes to the MG's
We provide free accounts to our users, and each account is individual, so> each user will call at one moment in time from one account only (did not get
users complaining about that till now). CDRTool initial operation was developed with this policy in mind. You can also use the non-locking
feature
introduced recently but it's just a matter of your policy, I will stick
to
mine for the moment.
So, in your system you only allow a user to do ONE call?, what happers if one "user" configure his account on a IP-PBX? you only allow him to do ONE call? no been able to do more than one call simultaneous? ... that's a dessing misstake from my point of view.
We are talking about openser prepaid here in a proxy scenario. I did not involve any IP-PBX inside because if I would do then what's the point of my prepaid system. Could be that I misunderstood your scenario, can u depict it a bit more? Where should your user configure his ip-pbx account and why?
Cheers, DanB
Best Regads
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
On Mon, Sep 01, 2008 at 08:36:20PM +0200, DanB wrote:
We are talking about openser prepaid here in a proxy scenario. I did not involve any IP-PBX inside because if I would do then what's the point of my prepaid system. Could be that I misunderstood your scenario, can u depict it a bit more? Where should your user configure his ip-pbx account and why?
Our scenario it's simple and also very common:
- User go to the website and register for a new prepaid-account - User get it SIP credentials and config data - User go to him Asterisk PBX and configure him's account - User IS a SOHO with 10 employers with 10 SIPPhones behing their Asterisk PBX
So .. now .. how do you control that if they have 10€ on their account and the 10 employers beging to do calls outsite, the credit runout on a middle of 2 (for taking the simplest scenario) simultaneous calls from that user to the PSTN world. How do you control that on your scenario? you give each account a call-limit of 1 ? ... do you give them 10 accounts instead of 1 ? and on that case, again ... how do you control that 2 accounts from the same "USER" do not runout of credit ?
P.D.: Please, only reply to the list, not need to CC me, I'm subscrided.
Best regads -- Raúl Alexis Betancor Santana Dimensión Virtual S.L.
Raul,
Your scenario is clearer for me now.
On Mon, Sep 1, 2008 at 8:57 PM, rabs@dimension-virtual.com wrote:
On Mon, Sep 01, 2008 at 08:36:20PM +0200, DanB wrote:
We are talking about openser prepaid here in a proxy scenario. I did not involve any IP-PBX inside because if I would do then what's the point of
my
prepaid system. Could be that I misunderstood your scenario, can u depict
it
a bit more? Where should your user configure his ip-pbx account and why?
Our scenario it's simple and also very common:
- User go to the website and register for a new prepaid-account
- User get it SIP credentials and config data
- User go to him Asterisk PBX and configure him's account
- User IS a SOHO with 10 employers with 10 SIPPhones behing their
In case of your user (I treat my customers as retail only, your scenario is a bit of wholesale), he will need either to be postpaid user or to configure more than one account into his asterisk pbx in order to bind each to it's internal individuals. Another option would be the one limiting his calls based on no more credit, but this means you will trust him reaching bellow 0 (I would call it an almost-prepaid scenario).
Cheers, DanB
Best regads
Raúl Alexis Betancor Santana Dimensión Virtual S.L.
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
On Mon, Sep 01, 2008 at 09:13:09PM +0200, DanB wrote:
In case of your user (I treat my customers as retail only, your scenario is a bit of wholesale), he will need either to be postpaid user or to configure more than one account into his asterisk pbx in order to bind each to it's internal individuals. Another option would be the one limiting his calls based on no more credit, but this means you will trust him reaching bellow 0 (I would call it an almost-prepaid scenario).
In our bussiness wholesale it's only limited for Carrier2Carrier bussiness and retail is everyone else. We have prepaid and post-paid customers, all of them have no limit on simultaneous calls, because at the end .. the more calls they send .. the more money we earn, so it has no sense (for us) to limit an account to only one simultaneous call.
Best regards -- Raúl Alexis Betancor Santana Dimensión Virtual S.L.
Raul,
it makes sense what you are telling me, just did not hit the need up to know.
Just to conclude our debate, will try to come up with something for the simultaneous calls usage from the same account (for customers looking for such scenario of yours), and it should be GPL.
Will keep you posted.
Regards, DanB
On Tue, Sep 2, 2008 at 12:13 AM, rabs@dimension-virtual.com wrote:
On Mon, Sep 01, 2008 at 09:13:09PM +0200, DanB wrote:
In case of your user (I treat my customers as retail only, your scenario
is
a bit of wholesale), he will need either to be postpaid user or to
configure
more than one account into his asterisk pbx in order to bind each to it's internal individuals. Another option would be the one limiting his calls based on no more credit, but this means you will trust him reaching
bellow 0
(I would call it an almost-prepaid scenario).
In our bussiness wholesale it's only limited for Carrier2Carrier bussiness and retail is everyone else. We have prepaid and post-paid customers, all of them have no limit on simultaneous calls, because at the end .. the more calls they send .. the more money we earn, so it has no sense (for us) to limit an account to only one simultaneous call.
Best regards
Raúl Alexis Betancor Santana Dimensión Virtual S.L.
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Apologies for the Me Too post, I would also find this very useful as I would like to do a realtime prepaid with concurrent account usage in a few months time. In my scenario I am avoiding handling media where possible and so I would very much prefer to handle this in Kamailio rather than forcing the call through a B2BUA.
Craig
From: users-bounces@lists.kamailio.org [mailto:users-bounces@lists.kamailio.org] On Behalf Of DanB Sent: Tuesday, 2 September 2008 3:43 PM To: users@lists.kamailio.org Subject: Re: [Kamailio-Users] CDRTool and Prepaid
Raul,
it makes sense what you are telling me, just did not hit the need up to know.
Just to conclude our debate, will try to come up with something for the simultaneous calls usage from the same account (for customers looking for such scenario of yours), and it should be GPL.
Will keep you posted.
Regards, DanB
On Tue, Sep 2, 2008 at 12:13 AM, rabs@dimension-virtual.com wrote:
On Mon, Sep 01, 2008 at 09:13:09PM +0200, DanB wrote:
In case of your user (I treat my customers as retail only, your scenario
is
a bit of wholesale), he will need either to be postpaid user or to
configure
more than one account into his asterisk pbx in order to bind each to it's internal individuals. Another option would be the one limiting his calls based on no more credit, but this means you will trust him reaching bellow
0
(I would call it an almost-prepaid scenario).
In our bussiness wholesale it's only limited for Carrier2Carrier bussiness and retail is everyone else. We have prepaid and post-paid customers, all of them have no limit on simultaneous calls, because at the end .. the more calls they send .. the more money we earn, so it has no sense (for us) to limit an account to only one simultaneous call.
Best regards
-- Raúl Alexis Betancor Santana Dimensión Virtual S.L.
_______________________________________________ Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
In our bussiness wholesale it's only limited for Carrier2Carrier bussiness and retail is everyone else. We have prepaid and post-paid customers, all of them have no limit on simultaneous calls, because at the end .. the more calls they send .. the more money we earn, so it has no sense (for us) to limit an account to only one simultaneous call.
this situation really make sense, restricting to one call per user is not worth since the more usage is the more provider make the money
only concern from provider side is, how to restrict them the balance they have
this is big concern of all the providers, iam also digging the same issue.
can some one come across any solution, kindly post back it will be good to hear back.
await for the solution
DanB :-) i have look at the module created using yate, looks good asper the document. may be if you add the option of mulitple calls would be good option.
I heard in some news OpenSIP and Yate working together ( this may be off Topic)
Ram
On Mon, Sep 1, 2008 at 12:59 PM, Raúl Alexis Betancor Santana < rabs@dimension-virtual.com> wrote:
El Monday 01 September 2008 11:12:49 DanB escribió:
Hi Matteo,
I was in the same position like you are now, months back.
At least in OpenSER (please note that 1.4 is no longer tagged as OpenSER, but Kamailio) it was hard to do call-control since SER like was not initially developed to be dialog aware server. Dialog module is coming slowly to be there but I have the feeling it will take a bit time more to have a mature product out.
In the mean time I decided to go with an easier approach, so have
installed
Yate ( I am sure Asterisk or Freeswitch can do the same job as well, but
it
is just about having yate on hands on that time). In my case Yate will
take
the timeout value from Private SIP Header and process it as global timer
of
the call (Yate acts as SBC or B2BUA).
In that scenario Yate is working as B2BUA not as SBC.
If the call does finish before the timer is hit, Yate will do the job and disconnect both legs of the call (inbound and outbound) by sending BYE to both parties, therefore reaching the scenario wanted. However, this is considered like a security whole in Yate since anyone could achieve call disconnects by using the right
private
header, so u must set also an ip acl inside yate for the calls where u process the private-timer header.
In you put a Kamailio in front of Yate you could ensure taht private-timer headers are only there because Kamailio put them, so no security hole possible.
I am at your disposal if you need further help with freeradius-cdrtool connector (planning to release out a new version soon, just hope that the time will stay still to give me that opportunity ;-) ).
In your solution, you have not considered the situation of two simultaneous calls from the same user.
And how would you treat such scenario?
d
On Mon, Sep 01, 2008 at 01:40:10PM +0200, David Villasmil wrote:
In your solution, you have not considered the situation of two simultaneous calls from the same user.
And how would you treat such scenario?
With an own developed daemon that controls all running calls and how many credit a "user" have, no matter how many simultaneous calls he is running at a time
Best regards --
We've found the only way to do this accurately is to use a B2BUA like Asterisk.
Mark
At 10:02 a.m. 01/09/2008, you wrote:
Thanks Iñaki for your suggestion. After reading the documentation at the site you mentioned below I now understand that the "external call control module" that is discussed in "/doc/PREPAID.txt" of CDRTool is a modified freeradius radius server which is "able to connect on the CDRTool prepaid engine through TCP API and implement a basic prepaid level for calls passing through OpenSER" and it is able to send "information back to OpenSER through the recommended way of SIP-AVP. The avps received will be available in openser as: callMaxDur and credit, where callMaxDur is the maximum duration the user is allowed to be connected with the destination and credit represents the amount of credit available at starting of the call"
Now going back to my question about this module that is able to "maintain call status and terminate calls by sending BYEs to both SIP end-points" this means that once the "callMaxDur" and "credit " information is sent back from freeradius to OpenSER, OpenSER is the one "sending BYEs to both SIP end-points". How can I make OpenSER do this? How can OpenSER use the callMaxDur information sent in the SIP-AVP pair to terminate a call with a BYE after X amount of minutes?
--Matteo
-----Original Message----- From: users-bounces@lists.kamailio.org [mailto:users-bounces@lists.kamailio.org] On Behalf Of Iñaki Baz Castillo Sent: Sunday, August 31, 2008 5:17 PM To: users@lists.kamailio.org Subject: Re: [Kamailio-Users] CDRTool and Prepaid
El Domingo, 31 de Agosto de 2008, Matteo D'Amato escribió:
Thanks David for your answer, but can you explain how radius can do that since sending BYE messages is more at the signaling level. I dont quite understand how radius can even communicate at the SIP signaling level.
Of course Radius itself can't do it.
There is a related project that I've not tried but it could be what you are looking for: http://frad-cdrtool.sourceforge.net/
-- Iñaki Baz Castillo
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users