Return to LanScape's home page Go back a page...       Active TopicsActive Topics   Display List of Forum MembersMember List   Knowledge Base SearchSearch   HelpHelp  RegisterRegister  LoginLogin

SIP Proxy and Media Proxy - Pre-Sales Technical Support
 LanScape Support Forum -> SIP Proxy and Media Proxy - Pre-Sales Technical Support
Subject Topic: SIP Integration Post ReplyPost New Topic
Author
Message << Prev Topic | Next Topic >>
pharo
Intermediate
Intermediate


Joined: September 11 2006
Location: United States
Posts: 5
Posted: September 11 2006 at 6:19pm | IP Logged Quote pharo


We have developed a voice and video over IP application (written in MS Visual C++) that uses UDP to transmit and receive voice/video data. We are encountering problems in getting past end-users firewalls (both software and hardware). We have found that a session controller board can solve the NAT firewall traversal problem. However, this approach requires us to make our C++ application SIP compliant (a requirement of the Session Border Controller). Do you have any SDKs and/or SIP tools that can accomplish this task?

fyi, we are using an AcmePacket Net-Net 4000 Session Border Controller. Will your SDKs/Tools work with all SBC's, including this one?
Back to Top View pharo's Profile Search for other posts by pharo
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: September 12 2006 at 8:52am | IP Logged Quote support

Hi pharo,

Thanks for posting your questions to this forum. It sounds like you have hit the massive NAT traversal “road block”.

You mention a couple of interesting aspects in your inquiry so we will try to take them one at a time.


<<< You
We have developed a voice and video over IP application (written in MS Visual C++) that uses UDP to transmit and receive voice/video data.

Support >>>
We are assuming that your application does not currently use SIP for session initiation and does not use RTP for media (voice and video) exchange.


<<< You
… However, this approach requires us to make our C++ application SIP compliant (a requirement of the Session Border Controller). Do you have any SDKs and/or SIP tools that can accomplish this task?

Support >>>
The LanScape VOIP Media Engine can be integrated into your VOIP application to support voice calls. For further information, see the following URL:

LanScape VOIP Media Engine™ Release 5.12

Note: The Media Engine will support video in the future but does not at the present time. It may be possible for our companies to work together on a contract basis to implement the basic video support you need. Please inquire further if you are interested.


<<< You
fyi, we are using an AcmePacket Net-Net 4000 Session Border Controller. Will your SDKs/Tools work with all SBC's, including this one?

Support >>>
Our SIP products will interoperate with all other SIP 2.0 compliant VOIP endpoints and devices. If our customers happen to identify a SIP interoperability issue, we are quick to respond in an effort to resolve it.


Other Info:

Depending on your deployment needs, you can probably eliminate the expensive 3rd party session border controller hardware if you simply deploy our Windows based Centrex Proxy Server (SIP proxy) in conjunction with our VOIP Media Proxy Server (RTP media proxy). The two servers work together to create a cost effective session and media NAT traversal solution that is scalable.

The best way to see if our products will help in your product design/deployment is to request trial versions of the products from the following web page:

http://www.lanscapecorp.com/ASP%20Files/VoipTestDrive.asp

The products come fully functional with full documentation. The VOIP Media Engine also comes with example application source code (C/C++).

Repost additional question if we can assist you further.

Thanks pharo!


Support
Back to Top View support's Profile Search for other posts by support Visit support's Homepage
 
pharo
Intermediate
Intermediate


Joined: September 11 2006
Location: United States
Posts: 5
Posted: September 12 2006 at 4:07pm | IP Logged Quote pharo

Hi Support,

Thank you very much for quick response... See below for a reponse to your reply:

Support >>>
We are assuming that your application does not currently use SIP for session initiation and does not use RTP for media (voice and video) exchange.

Anthony >>> Yes. Our application does not use SIP & RTP for V&V exchange.


Support >>>
The LanScape VOIP Media Engine can be integrated into your VOIP application to support voice calls. For further information, see the following URL:

LanScape VOIP Media Engine™ Release 5.12

Note: The Media Engine will support video in the future but does not at the present time. It may be possible for our companies to work together on a contract basis to implement the basic video support you need. Please inquire further if you are interested.

Anthony >>> Any idea when your product will support video? We need the video component and would like to know the cost associated on a contract basis to do so. Please contact or supply me with an email and/or phone#, so that we can discuss this further.


Support >>> Depending on your deployment needs, you can probably eliminate the expensive 3rd party session border controller hardware if you simply deploy our Windows based Centrex Proxy Server (SIP proxy) in conjunction with our VOIP Media Proxy Server (RTP media proxy). The two servers work together to create a cost effective session and media NAT traversal solution that is scalable.

Anthony >>> This sounds like a great alternative to the SBC. What are Microsoft licenses aggrement for such a solution? i.e. is it license for the number of concurrent sessions/users? Also, do you have a Linux Centrex Proxy Server platform? Where in the network architecture will this Centrex/Media Proxy Server be position? i.e. infront/behind router/firewall.


Regards,
Anthony.
Back to Top View pharo's Profile Search for other posts by pharo
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: September 13 2006 at 7:10am | IP Logged Quote support

Hi Anthony,

Internally, the VOIP Media Engine has been designed to support both voice and video media for VOIP phone calls. As we mentioned earlier, the video support is stubbed out at present time.


Voice and Video Support:
Anthony >>>
Any idea when your product will support video?

<<< Support
I’m sorry. :(   I cannot give you a solid time frame on when the video support will be put into the product. We have video support scheduled for an upcoming release but many voice only related product improvements and enhancements are pushing the video support to a later date.


Anthony >>>
We need the video component and would like to know the cost associated on a contract basis to do so. Please contact or supply me with an email and/or phone#, so that we can discuss this further.

<<< Support
We will pass your information along to our CTO who handles contract support issues. He will contact you via email later today.



Centrex Proxy and VOIP Media Proxy solutions:

Anthony >>>
This sounds like a great alternative to the SBC. What are Microsoft licenses agreement for such a solution? (i.e. is it license for the number of concurrent sessions/users?)

<<< Support
The proxy servers are offered in three different product grades. Licensing terms are simple. For further info, please see the following URLs:

Centrex Proxy Product Information

VOIP Media Proxy ProductInformation


The user references for the proxy products are located here:

LanScape Centrex Proxy Server™ - User's Reference

LanScape VOIP Media Proxy™ - User's Reference

It may be a good idea to take a quick look at them to get a feel for what these server products can do for you.


Anthony >>>
Also, do you have a Linux Centrex Proxy Server platform?

<<< Support
Sorry, No.


Anthony >>>
Where in the network architecture will this Centrex/Media Proxy Server be position? i.e. infront/behind router/firewall.

<<< Support
You can deploy our proxy products (for NAT Traversal) in either location: In your own private network behind your outermost firewall/NAT router or in the public IP address space. It is your choice.


Requesting trial versions of our products:

Trial versions of LanScape products are available. To obtain trial product versions, please see the following URL:

http://www.lanscapecorp.com/ASP%20Files/VoipTestDrive.asp



Repost as needed.


Support
Back to Top View support's Profile Search for other posts by support Visit support's Homepage
 
pharo
Intermediate
Intermediate


Joined: September 11 2006
Location: United States
Posts: 5
Posted: September 13 2006 at 2:21pm | IP Logged Quote pharo

Hi Support,

Thank you very much for responding to my inquiry. I look forward to hearing from your CTO regarding contract pricing relating to the video integration.

Regards,
Pharo.
Back to Top View pharo's Profile Search for other posts by pharo
 
pharo
Intermediate
Intermediate


Joined: September 11 2006
Location: United States
Posts: 5
Posted: September 13 2006 at 3:31pm | IP Logged Quote pharo

Hi Support,

Will a "SIP Server" be needed upon migrating our C++ application to the SIP compliant standard using your VOIP Media Engine 5.12 tools? Since I am a novice to SIP, I would like to know exactly what is needed to complete this project. Just a brief description of the network architecture:

- our application is Client/Server base
- the Server is used for routing the Voice & Video streams to the Client
- the Servers are colo located behind a checkpoint firewall using NAT
- end-users uses the Client to connect to the server for authentication & routing (end-users normally uses a SOHO router/firewall device or some sort of software firewall)


As you mention, I can place the Session Border Controller with a special built Windows base (which OS can I use here?) operating system running your Centrex & VOIP Media Proxy services.

Would we also need to make any changes to our Server code? i.e. does it have to be SIP complant (similar to the Client application)? Do I need to install a SIP server at the Colo site along with the Centrex/VOIP Media Proxy server?

Will I also need a SIP Server Adapter: A component to sit in between the SIP Server and our application Server and converts the messages from SIP to our application server
proprietary and vice-versa i.e.The application Server to provide callback APIs which will be called on receiving a client message and to also provide APIs to the pplication Server to call when sending any message to the client?

If you could outline a list of servers and/service I shall need to complete this task using your products, I would appreciate it.



TIA,
Pharo.
Back to Top View pharo's Profile Search for other posts by pharo
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: September 14 2006 at 9:19am | IP Logged Quote support

Hi Pharo,

You have asked many questions. Let’s try to get to the basic problem you are trying to solve: Peer-to-peer connectivity problems due to NAT.

You have given a good description of your current architecture but we still have a few questions for you before we can make any valid recommendations:

Item 1:
Is the goal of your system to allow clients to voice and video “chat” with each other?
In other words, if I am using client 1 at my home and you are using client 2 at your home, do we see and hear each other? Assume client 1 and client 2 are in their own private networks behind their own NAT router/firewall.

Item 2:
Or is your system’s goal to allow the servers to send a common audio and video media feed to all currently connected clients? As in a voice/video monitoring service.

Item 3:
Do your clients exchange voice and video media through your servers somehow or do they try to communicate with each other directly for voice and video media exchange?

Item 4:
What exactly does your “application server” do for all the deployed clients. Be specific.

Please try to answer these questions for us and we will respond further.


Now to attempt to answer some of your questions:

<<< pharo
Will a "SIP Server" be needed upon migrating our C++ application to the SIP compliant standard using your VOIP Media Engine 5.12 tools?

Support >>>
The short answer is yes. Now here is the long answer:

The VOIP Media Engine allows Windows based applications to initiate and receive VOIP “phone calls” using the SIP protocol for call setup and teardown and RTP protocol for media exchange. The goal is to allow a “client” application to communicate with one or more other “client” applications no matter where they are in the IP address space. That is to say: No matter if the clients have a global IP address (the internet) or a private IP address behind a NAT network element such as a NAT firewall or NAT router.

Using the SIP protocol alone does not solve the dreaded NAT issue facing peer-to peer network architectures. As a matter of fact, the original SIP specification (RFC) completely ignored the impact of NAT. Since the original SIP specs, the SIP protocol has evolved to include some mechanisms that will allow NAT traversal to be possible – but not for all network deployment scenarios. This is especially true if symmetrical NAT routers are deployed in the network environment. Also, RTP protocol used for media exchange does nothing to solve the NAT issue. It is used solely for media exchange and faces it own NAT issues.

If you search the web, you will begin to understand that NAT is the worst thing that could happen to VOIP and other peer-to-peer applications. All peer-to-peer architectures (SIP/RTP, H.323, and others) are all impacted by the NAT problem.

A SIP client generally talks to a SIP server. This SIP server 99% of the time contains SIP proxy and registrar functions in the same piece of server software.

When a SIP client starts, its first duty is to register with the proxy. This registration allows the proxy to know where the client is located in the IP address space and allows calls to be routed to the client. The registration info is saved to a “registrar database”.

In addition to the SIP proxy server, one or more media proxy server are deployed to allow media to flow between clients. A media proxy is required if you cannot control the network environment where you deploy your architecture and if symmetrical NAT network elements are present (symmetrical NAT routers).

Because the SIP protocol uses IP address information in the protocol packets, any form of NAT will make this IP address information invalid. That is where session border controllers can come in. They perform SIP protocol packet “fix ups” in an attempt to adjust IP address information in the SIP protocol packets. Border controllers can also perform media proxy functions as well. Border controllers usually are deployed at the perimeter of a private network to overcome NAT.

How do we do it? In our simplest deployment scenarios, we deploy VOIP Media Engine based clients and other SIP devices such as IP desktop phones and voice+video phones where ever we want. Normally these devices are all behind some form of NAT device. Very rarely are any of the SIP endpoints given a global IP address (non NATed). We then configure a single LanScape Centrex Proxy Server (SIP Proxy with registrar, etc…) as the primary server. The Centrex Proxy Server performs complex SIP protocol address and port fix ups just like a session border controller. Along with the SIP proxy we also deploy one or more LanScape VOIP Media Proxies to handle media related NAT issues. You can see this type of deployment if you look at the documentation for the proxy products.

That’s it. No more NAT problems and a fully functional voice and video VOIP domain.

We are currently working on expanding the Session Border Controller capabilities of the Centrex Proxy Server so that it can not only manage a complete VOIP domain by itself but also be configured to sit in front of an existing VOIP domain and perform all the required SIP and RTP SBC functions. It’s a good solution to a bad problem and costs way les that dedicated session border controller hardware.


<<< pharo
Would we also need to make any changes to our Server code? i.e. does it have to be SIP complant (similar to the Client application)?

Support >>>
Yes.


<<< pharo
Do I need to install a SIP server at the Colo site along with the Centrex/VOIP Media Proxy server?

Support >>>
No. The Centrex (SIP) Proxy Server is a full functioning SIP proxy server. The VOIP Media Proxy is deployed to assist in voice/video media exchange between clients and is controlled by the Centrex (SIP) Proxy Server


<<< pharo
Will I also need a SIP Server Adapter: A component to sit in between the SIP Server and our application Server and converts the messages from SIP to our application server
proprietary and vice-versa i.e.The application Server to provide callback APIs which will be called on receiving a client message and to also provide APIs to the pplication Server to call when sending any message to the client?


Support >>>
I see what you are asking. You are technically correct to ask this but we have nothing that will do this. Also, whatever decision you make, try to deploy the simplest possible architecture. This will reduce failure points in your system.


<<< pharo
If you could outline a list of servers and/service I shall need to complete this task using your products, I would appreciate it.

Support >>>
The best way to see how to use the VOIP Media Engine, Centrex Proxy Server and the VOIP Media Proxy is to request a full functional trial version of these products and dive into the docs and start playing with them. You can set up a fully functioning VOIP domain that will overcome all NAT environments.


Final notes:
In your products current state, a session border controller like the Acme Packet Net-Net 4000 is useless unless you convert your clients and back end server over to SIP and RTP.

It sounds like you have a lot of work to do to convert your current architecture to SIP/RTP. This is not a trivial task. If your server is simply used to allow clients to know each other IP addresses/ports so they can exchange media, then you can replace your server with our Centrex Proxy and one or more media proxies and then convert your clients over to SIP using the VOIP Media Engine.


Support
Back to Top View support's Profile Search for other posts by support Visit support's Homepage
 
pharo
Intermediate
Intermediate


Joined: September 11 2006
Location: United States
Posts: 5
Posted: September 14 2006 at 7:16pm | IP Logged Quote pharo

Hi Support,

Thanks for the very descriptive response. See below for responses to your inquiry:

<<< Support
Item 1:
Is the goal of your system to allow clients to voice and video “chat” with each other?
In other words, if I am using client 1 at my home and you are using client 2 at your home, do we see and hear each other? Assume client 1 and client 2 are in their own private networks behind their own NAT router/firewall.

>>> Pharo
Yes. However it is more sophisticated than a simply peer-to-peer voice/video chat session. Our application server allows multiple clients to connect to it and routes their audio/video streams into a virtual environment. This allows multiple persons to be present in an allocated space in the VRML environment where they can see and speak to each other in real-time. We call it virtual conferencing. You can conduct a one-to-one session or a dynamic many-to-many session.


<<< Support
Item 2:
Or is your system’s goal to allow the servers to send a common audio and video media feed to all currently connected clients? As in a voice/video monitoring service.

<<< Pharo
See Item 1. For explanation. Our application server doesn't send a common AV media feed to all clients. Instead it functions as an AV streaming/routing server.

<<< Support
Item 3:
Do your clients exchange voice and video media through your servers somehow or do they try to communicate with each other directly for voice and video media exchange?

>>> Pharo
Yes. The client exchange AV media via our application server. No direct or peer-to-peer connections are conducted.

<<< Support
Item 4:
What exactly does your “application server” do for all the deployed clients? Be specific.

>>> Pharo
Our client extracts each user’s video image from an arbitrary background. The extracted images are then streamed with associated audio over the web at real time frame rates into either: 1) free-space; 2) a highly-realistic computer generated environment; or 3) the original background environment on the receive end. By seamlessly extracting and transplanting the user’s image in real time, our client application enables multiple users to be present in the same 3D space in impromptu conferences initiated by simply navigating into the shared space.

Our application server not only routes AV streams, generated by the our client application into the 1), 2) & 3) options mention above, but it also performs computational tasks used to determine each user's co-ordinates in the computer generated virtual environments.

------------------------------------------------
<<< Pharo
Will I also need a SIP Server Adapter: A component to sit in between the SIP Server and our application Server and converts the messages from SIP to our application server
proprietary and vice-versa i.e. the application Server to provide callback APIs which will be called on receiving a client message and to also provide APIs to the application Server to call when sending any message to the client?

Support >>>
I see what you are asking. You are technically correct to ask this but we have nothing that will do this. Also, whatever decision you make, try to deploy the simplest possible architecture. This will reduce failure points in your system.

<<< Pharo
Since our application server performs specific tasks, your Centrex SIP proxy + VOIP Media proxy servers will need to talk to our application server. Will this be possible?

Also, can we install the SIP Proxy & Media Proxy server on the same machine or are separate systems required?

Also, in what situation will I need multiple Media Proxy servers?

Will it be possible to integrate your SIP Proxy & Media Proxy services into our application server i.e. install them on the application server system and have them all running on the same machine? - If so, what are the system resources utilization for your SIP Proxy and Media Proxy i.e. CPU and RAM utilization or is this base on the number of concurrent connections? Or would you recommend that we run them on separate machines?

-----------------------------------------------------

>>> Support
Final notes:
In your products current state, a session border controller like the Acme Packet Net-Net 4000 is useless unless you convert your clients and back end server over to SIP and RTP.

It sounds like you have a lot of work to do to convert your current architecture to SIP/RTP. This is not a trivial task. If your server is simply used to allow clients to know each other IP addresses/ports so they can exchange media, then you can replace your server with our Centrex Proxy and one or more media proxies and then convert your clients over to SIP using the VOIP Media Engine.

>>> Pharo
Our plan it to migrate our C++ client application & server application code to SIP compliant code. This will then allow us to utilize a SBC to solve our NAT problem.

This is not going to be an easy task; including the fact that we are also streaming audio as well as video. As mention, our application server stores all the client’s IP information and performs the redirecting or routing of AV streams to their appropriate co-ordinates in the virtual environment.
Back to Top View pharo's Profile Search for other posts by pharo
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: September 18 2006 at 9:00am | IP Logged Quote support

Follow up Questions

You >>>
Since our application server performs specific tasks, your Centrex SIP proxy + VOIP Media proxy servers will need to talk to our application server. Will this be possible?

<<< Support
Not at the present time. Our proxy products were designed to be the primary managers of a VOIP domain. However, we are working on capabilities in the Centrex Proxy that will allow it to sit “in front” of another VOIP domain just like a full blown Session Border Controller. This functionality will be released sometime this fall. You may want to inquire about Beta versions for testing.



You >>>
Also, can we install the SIP Proxy & Media Proxy server on the same machine or are separate systems required?

<<< Support
It does not matter. Install everything on a single server machine or install our servers to different servers.



You >>>
Also, in what situation will I need multiple Media Proxy servers?

<<< Support
When the call loading is too much for our server software to handle properly. This is a function of host hardware, CPU grunt, available network bandwidth, etc. There are other posts to this forum that talk about this:

Deploying ISTP of 5000 users - Questions

What is the maximum Media Proxy throughput?



You >>>
Will it be possible to integrate your SIP Proxy & Media Proxy services into our application server i.e. install them on the application server system and have them all running on the same machine?

<<< Support
Yes.


You >>>
If so, what are the system resources utilization for your SIP Proxy and Media Proxy i.e. CPU and RAM utilization or is this base on the number of concurrent connections?

<<< Support
For the Centrex Proxy server, next to nothing. Once a call session is established, the proxy basically just sits there doing nothing. The Media proxy however must process all media related network packets for all calls. This can be CPU demanding (not memory – but CPU processing time). The Media Proxy is high performance and very fast. It has been designed for such deployments and environments. Due to the number of different factors that influence performance, we do not publish hard performance data for these servers. If they do not handle your call loads, put them on a faster server machine. Someday we will publish some kind of normalized performance data – but this data is not available today.


You >>>
Would you recommend that we run them on separate machines?
<<< Support
Not required unless your call audio and video start to “break up”. Running each media proxy server on a separate fast server however will give you the most call handling capability for the buck.

By the way, this thread is getting pretty long. If you want to ask additional questions, lets start a new topic thread.

Repost as needed,

Support
Back to Top View support's Profile Search for other posts by support Visit support's Homepage
 

If you wish to post a reply to this topic you must first login
If you are not already registered you must first register

  Post ReplyPost New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum






Contact LanScape Hear what the Lawyers have to say How youm may use this site Read your privacy rights