If you've stopped using MediaProxy, what do you use now? I'm currently seeking an alternative to MediaProxy, and would appreciate some ideas. All I need is NAT traversal - but something does doesn't route media (voice) through the OpenSER server...
Thanks, Brian
----- Original Message ----- From: "Jeremy McNamara" jj@nufone.net To: "Mike O'Connor" mike@pineview.net Cc: users@lists.openser.org Sent: Friday, November 02, 2007 7:30 AM Subject: Re: [OpenSER-Users] MediaProxy 1.9.0 - Radius
Mike O'Connor wrote:
Hi Guys
I really think there is something wrong with MediaProxy, I can not get the radius or the mysql accounting to report any details, as best as I can see there is never any attempt to even try.
I totally scratched MediaProxy off of the list when the author of the code told me to take my questions to the openser mailing list. Good luck finding support - I even offered to pay and was completely ignored.
My suggestion would be to use Asterisk as your media proxy and use one of the various radius connectors (if you absolutely require radius)
Jeremy
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
Hi Brian,
The other alternative is rtpproxy. Check the nathelper module. It can control multiple rtpproxy servers hosted on several machines: http://www.openser.org/docs/modules/1.3.x/nathelper.html#AEN160 This feature will be available on the next 1.3 release (scheduled by the end of the year)
Regards, Ovidiu Sas
On 11/2/07, Brian Heath brian@telethra.com wrote:
If you've stopped using MediaProxy, what do you use now? I'm currently
seeking an alternative to MediaProxy, and would appreciate some ideas. All I need is NAT traversal - but something does doesn't route media (voice) through the OpenSER server...
Thanks, Brian
----- Original Message ----- From: "Jeremy McNamara" jj@nufone.net To: "Mike O'Connor" mike@pineview.net Cc: users@lists.openser.org Sent: Friday, November 02, 2007 7:30 AM Subject: Re: [OpenSER-Users] MediaProxy 1.9.0 - Radius
Mike O'Connor wrote:
Hi Guys
I really think there is something wrong with MediaProxy, I can not get the radius or the mysql accounting to report any details, as best as I can see there is never any attempt to even try.
I totally scratched MediaProxy off of the list when the author of the code told me to take my questions to the openser mailing list. Good luck finding support - I even offered to pay and was completely ignored.
My suggestion would be to use Asterisk as your media proxy and use one of the various radius connectors (if you absolutely require radius)
Jeremy
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
Brian Heath wrote:
If you've stopped using MediaProxy, what do you use now? I'm currently
seeking an alternative to MediaProxy, and would appreciate some ideas. All I need is NAT traversal - but something does doesn't route media (voice) through the OpenSER server...
As I suggested to Mike, use Asterisk. You get full transcoding support, proper call accounting and the ability to do calling applications (ivr, etc) , if you want.
You can fix the NAT problems in the SDP from within openser.cfg.
Jeremy
If you've stopped using MediaProxy, what do you use now? I'm
currently
seeking an alternative to MediaProxy, and would appreciate some ideas.
All
I need is NAT traversal - but something does doesn't route media (voice) through the OpenSER server...
As I suggested to Mike, use Asterisk. You get full transcoding support, proper call accounting and the ability to do calling applications (ivr, etc) , if you want.
Can you elaborate a little on "proper call accounting" as I am battling with this currently. An example: SER sends INVITE to Asterisk. Depending on the circumstances we might want to record a voicemail message, hit an IVR or queue, or pass the call on to the PSTN.
Since Asterisk can't deal with OpenSER's authentication limitations we can only have one effective SIP peer (based on the IP of OpenSER) and therefore one context for accounting purposes. This makes even routing the call a challenge (how do you make sure that only certain users can get out to the PSTN whereas others stay internal to Asterisk). How do you get usable accounting records? If there are 5 calls from different users being passed to Asterisk they will all be accounted in the same way and it is not possible to bill them separately. If anyone has any advice on what I'm missing or how to get useful accounting records in Asterisk I would appreciate it.
Regards
Cameron
CSB wrote:
Can you elaborate a little on "proper call accounting" as I am battling with this currently. An example: SER sends INVITE to Asterisk. Depending on the circumstances we might want to record a voicemail message, hit an IVR or queue, or pass the call on to the PSTN.
Since OpenSER only manages the SIP sessions, OpenSER does not specifically know if any particular call is active or not. If you were only relying OpenSER's accounting a crafty voip user could simply never send you a BYE message, thus effectively never hanging up any calls.
This is why mediaproxy has a call accounting process. I believe RTP Proxy has also been updated or is scheduled to be updated with an accounting process.
In my opinion, the only truly viable way to do call accounting is along with the media stream (RTP), then you will know if the call is still in session and have the ability to specifically terminate the call for any given reason (by stopping the RTP from flowing.)
Since Asterisk can't deal with OpenSER's authentication limitations we can only have one effective SIP peer (based on the IP of OpenSER) and therefore one context for accounting purposes. This makes even routing the call a challenge (how do you make sure that only certain users can get out to the PSTN whereas others stay internal to Asterisk). How do you get usable accounting records? If there are 5 calls from different users being passed to Asterisk they will all be accounted in the same way and it is not possible to bill them separately. If anyone has any advice on what I'm missing or how to get useful accounting records in Asterisk I would appreciate it.
One option might be to send custom SIP header(s) to Asterisk. I wrote my own CDR module for Asterisk, to deal with my own particular environment.
Jeremy McNamara
On Nov 4, 2007, at 5:15 PM, Jeremy McNamara wrote:
CSB wrote:
Can you elaborate a little on "proper call accounting" as I am battling with this currently. An example: SER sends INVITE to Asterisk. Depending on the circumstances we might want to record a voicemail message, hit an IVR or queue, or pass the call on to the PSTN.
Since OpenSER only manages the SIP sessions, OpenSER does not specifically know if any particular call is active or not. If you were only relying OpenSER's accounting a crafty voip user could simply never send you a BYE message, thus effectively never hanging up any calls.
This is why mediaproxy has a call accounting process. I believe RTP Proxy has also been updated or is scheduled to be updated with an accounting process.
In my opinion, the only truly viable way to do call accounting is along with the media stream (RTP), then you will know if the call is still in session and have the ability to specifically terminate the call for any given reason (by stopping the RTP from flowing.)
What about the scenario where the call is placed on hold and the BYE isn't properly generated? We actually ran into this issue last week where it appeared that an on hold call was active for more than 5 hours (yes not impossible, but in this case the call "ended" after only a few seconds. Since the call was on hold the RTP wasn't taken down when no audio was not passed since none was expected. Really it seems the only way to do this properly is not with RTP but with SIP session timers but unfortunately not many devices have them implemented.
I guess the question is there really any other options?
Since Asterisk can't deal with OpenSER's authentication limitations we can only have one effective SIP peer (based on the IP of OpenSER) and therefore one context for accounting purposes. This makes even routing the call a challenge (how do you make sure that only certain users can get out to the PSTN whereas others stay internal to Asterisk). How do you get usable accounting records? If there are 5 calls from different users being passed to Asterisk they will all be accounted in the same way and it is not possible to bill them separately. If anyone has any advice on what I'm missing or how to get useful accounting records in Asterisk I would appreciate it.
We are working on a generic CDR module which will aggregate CDR records for both Asterisk and openSER. It only accounts for calls based on source and destination number, so if you need something fancier than that (say path) then it won't work for you (as of yet, path basis is coming) We'll be releasing it open source when it is completed and we'll post to the list then.
Thanks
Miles
Miles Scruggs writes:
I guess the question is there really any other options?
yes, the internet way, i.e., don't try to charge per minute for sip-to-sip calls and use accounting records for unreliable "information only" purpose. calls that end up to/from pstn, you can reliable charge at the gateway where both signaling and media is terminated.
-- juha
On Nov 5, 2007, at 12:45 AM, Juha Heinanen wrote:
Miles Scruggs writes:
I guess the question is there really any other options?
yes, the internet way, i.e., don't try to charge per minute for sip-to-sip calls and use accounting records for unreliable "information only" purpose. calls that end up to/from pstn, you can reliable charge at the gateway where both signaling and media is terminated.
That works in theory, but still doesn't solve the case for network failure of the end user when the end user was put on hold by an upstream party. The carrier has no way to know the call ended (until the call is taken off hold upstream) as they aren't expecting any audio to be passed and we haven't sent a proper bye.
I think Ovidiu has the right solution, we'll see how we can implement this.
Thanks
Miles