We have a commercial SIP server which currently does our registering, low cost routing and customer billing. However, it doesn't handle NATed connections well. To fix this, I wanted to use openser in front of it for customer connections using mediaproxy/rtpproxy. However, I have a problem with this setup.
From what I gather, for the proxy to work properly, the end user need to
be registered with the proxy so that it can do nat pings and keep the nat connection alive. But for users to make calls using our commercial server (which is what we want), they must be registered there. Is it possible (or even a good idea) to have a user registered on 2 servers at the same time? How else can we do this?
This is what I want to achieve: - from the end user perspective, they register and initiate calls only via the openser proxy. They know nothing of our commercial server. - calls between users is done on the openser proxy - calls to external destinations (i.e. PSTN) go via our commercial server and require that the user is registered there
Is this possible?
Jeff
It seems that what you want is third party registration. I'm pretty sure you can tell OpenSER to register your users on your other SIP server by diverting the 'REGISTER' request.
2006/4/4, Jeff Williams jeffw@globaldial.com:
We have a commercial SIP server which currently does our registering, low cost routing and customer billing. However, it doesn't handle NATed connections well. To fix this, I wanted to use openser in front of it for customer connections using mediaproxy/rtpproxy. However, I have a problem with this setup.
From what I gather, for the proxy to work properly, the end user need to
be registered with the proxy so that it can do nat pings and keep the nat connection alive. But for users to make calls using our commercial server (which is what we want), they must be registered there. Is it possible (or even a good idea) to have a user registered on 2 servers at the same time? How else can we do this?
This is what I want to achieve:
- from the end user perspective, they register and initiate calls only
via the openser proxy. They know nothing of our commercial server.
- calls between users is done on the openser proxy
- calls to external destinations (i.e. PSTN) go via our commercial
server and require that the user is registered there
Is this possible?
Jeff
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Simon Morvan wrote:
It seems that what you want is third party registration. I'm pretty sure you can tell OpenSER to register your users on your other SIP server by diverting the 'REGISTER' request.
But does the mediaproxy/rtpproxy work if the REGISTER request is diverted to a third party?
Jeff
I'm not a mediaproxy/rtpproxy expert but as far as your users are still registered with OpenSER it should work. Can someone confirm that?
2006/4/4, Jeff Williams jeffw@globaldial.com:
Simon Morvan wrote:
It seems that what you want is third party registration. I'm pretty sure you can tell OpenSER to register your users on your other SIP server by diverting the 'REGISTER' request.
But does the mediaproxy/rtpproxy work if the REGISTER request is diverted to a third party?
Jeff
It might not be 100% reliable, but you can use t_replicate in your openser and, after users are locally register, you can send the REGISTER to your comercial SIP server. By unreliability I mean that you can not assure 100% that data in openser and your comercial server is identical...some REGISTER might get lost...
Another option you can consider is to look at older threads about high availability and load balancing. The idea is to have a load balancer on front of your openser farms. Playing with Path header you can have a few instances of openser acting as load balancers of your comercial SIP server. I might be wrong but I think it's not yet finished (what's not yet done is the NAT pinging....please correct me if I'm wrong).
Hope it helps Samuel.
2006/4/4, Simon Morvan garphy@gmail.com:
I'm not a mediaproxy/rtpproxy expert but as far as your users are still registered with OpenSER it should work. Can someone confirm that?
2006/4/4, Jeff Williams < jeffw@globaldial.com>:
Simon Morvan wrote:
It seems that what you want is third party registration. I'm pretty sure you can tell OpenSER to register your users on your other SIP server by diverting the 'REGISTER' request.
But does the mediaproxy/rtpproxy work if the REGISTER request is diverted to a third party?
Jeff
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
samuel wrote:
It might not be 100% reliable, but you can use t_replicate in your openser and, after users are locally register, you can send the REGISTER to your comercial SIP server. By unreliability I mean that you can not assure 100% that data in openser and your comercial server is identical...some REGISTER might get lost...
This could be possible. However, all of the authencation information in stored in our commercial server in a Sybase database. Seeing that openser doens't have a sybase module this makes things very tricky. Not to mention that I'm not sure how the commercial server crypts/decrypts passwords.
I was hoping that I could do it in reverse, i.e. only register users locally if they were able to register on the commercial server. But as far as I can see this would mean running save("location") in a onreply_route for a register request where status is 200. But save doesn't run in onreply_route's and I'm assuming there is a good reason for it.
Another option you can consider is to look at older threads about high availability and load balancing. The idea is to have a load balancer on front of your openser farms. Playing with Path header you can have a few instances of openser acting as load balancers of your comercial SIP server. I might be wrong but I think it's not yet finished (what's not yet done is the NAT pinging....please correct me if I'm wrong).
This may be the sort of thing I am trying to achieve. I will have a look for these threads. Thanks.
Jeff