Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

Calls to many IP Phones / RTP issue again

Hello All,

I have solved part of my problem. Other part persist.

Let me describe it...

As described in my previous email, I was not able to get RTP working when

using XML objects and Java Media Framework. I sent commands to the phone to

receive/transmit RTP, then started JMF to transmit RTP to the phone - but it

didn't work, speaker would not play the voice. I read in documentation about

imcompatibilities between Cisco and JMF RTP implementations.

Then I tried to use Cisco JTAPI extensions, CiscoMediaTerminal and related,

as described in the doc. I was setting CiscoG711MediaCapability and still

couldn't get it work. JMF was set to use ULAW_RTP codec. However, then I

switched to CiscoG723MediaCapability and switched JMF to use G723 codec

(other parameters: sample rate, sample size in bits, number of channel

remained same) - and finally I got voice from IP Phone speaker received from

JMF application.

Only thing I changed was codec type.

My primary goal is to send RTP stream to several ip phones simultaneously. I

need to achieve this either using JTAPI or Cisco SDK with XML objects. If I

am to use JTAPI, then I need to find out how to place many calls to many ip

phones from my application (application is registered as single CTI port in

Call Manager). Is that possible to place several calls to different phones

using single originating Address?

SDK:

When sending "RTPRx" command to the IP Phone via XML object, the phone

expects incoming RTP as G711. Is there a way to specify a command in,

probably, XML object to change default to G723 with which JMF works fine? In

this case I would be able to send all phones RTPMRx command and then start

multicasting.

Why isn't IP Phone accepting RTP stream from JMF when using

javax.media.format.AudioFormat.ULAW_RTP codec? Is JMF missing support for

G711? Isn't ULAW_RTP the same as G711?

Thanks a lot for your support, I appreciate any help.

-

Denis G. Krylov

11 REPLIES
New Member

Re: Calls to many IP Phones / RTP issue again

I'm not a java programmer, but I do know that the latest CM Phone load supports mutilcast. Check out the RTPMRX Tag. That will give you the ability to broadcast to multiple phones, but your network infrastructure will have to support multicast.

New Member

Re: Calls to many IP Phones / RTP issue again

I'm not a java programmer, but I do know that the latest CM Phone load supports mutilcast. Check out the RTPMRX Tag. That will give you the ability to broadcast to multiple phones, but your network infrastructure will have to support multicast.

New Member

Re: Calls to many IP Phones / RTP issue again

Hi,

Unfortunaly, even if my network supports multicast, I need to send RTPMRx command to all phones, and I need to do that simultaneosly. The goal is to have ALL phones ready to receive as fast as possible. My question was, how to make many simult. calls to many phones at the same time using JTAPI. Or, another questions was, how to tell a phone to receive RTP as G723, not G711 u-Law by default. Thanks!

New Member

Re: Calls to many IP Phones / RTP issue again

Multicast is a function of the TCP/IP layer protocol models. So to broadcast to all of the IP addresses in your network range, you would send one command to the Subnet Broadcast IP address of that Network.

an example:

Say your network was 10.1.1.0 - 10.1.1.255

Subnet of 255.255.255.0

Your broadcast Addresses is 10.1.1.255

Send the command once, and all phones will receive the post, as the layer will transmit it on that segment.

If your network is subnetted down, your broadcast addresses will be different.

New Member

Re: Calls to many IP Phones / RTP issue again

Pls let me know your email, I will send an example for you.

New Member

Re: Calls to many IP Phones / RTP issue again

Re: Calls to many IP Phones / RTP issue again

@dkrylovv: basically you'll never be able to make this all simultaneously.. any software will always be sequential, even if you use threads. Only if you distribute threads on different CPU you could achieve perfect simultaneousness, but that would probably require so much synchronization code that it's really not worth it.

all the XML RTP commands expect the packets to be G.711 and contain 20ms of voice. By default, JMF uses 60ms, so that's why you're not getting anything on the phones. You have to add the proper packetizer to your code before realizing the processor to make this work. Here's a (non working.. but you can just use the packetizer code and place it into your working program) example on how to do this: http://forum.java.sun.com/thread.jsp?forum=28&thread=465587

look for "Aqu? se cambia el tama?o del paquete a 160", that's where the guy changes the packet format (160byte packes = 20 ms of audio in a packet).

I've never used JTAPI (well, I have but not for that kind of application) so I don't know why G.711 streaming doesn't work for you there.

Now as for the simultaneous thing, as far as I know TAPI, you can make as many call as the originating device has lines.. which I think will be a problem for you. However, I'd approach this as follows: do a http push to all the phones and open up their speaker (RTPMRx:ip:port works even if there's no stream, the speaker is open but you don't hear much). Doing this programmatically should be quick enough (just be careful about authentication.. do as the SDK suggests and have your own authentication page on the application server, which authorized all your push commands (use a special login/pass), but sends all other requests to the CM), then once you're done with the push, start RTP multicast G.711 streaming to the address you told all the phones to listen to.

New Member

Re: Calls to many IP Phones / RTP issue again

I am a new beginner in developing CISCO IP phone application. I need to deliver a wav file to a CISCO IP phone 7940 or 7960 from a java web service program via RTP. I have been looking for an solution on the website till now. Actually, somebody suggest me to JTAPI and JMF to do this task. But since I am quite new to this area, i really don't know how to do it. I read a lot of document already but am still very confused. So could you please do me a big favor? You will be greatly appreciated if you can tell me where I can find some examples or some useful books about how to accomplish this task? I appreciate your help very much.

Michael

New Member

Re: Calls to many IP Phones / RTP issue again

Hi,

I used Cisco docs on CallManager, Web Services and JTAPI as well as JMF docs. I did not use any special books. I had also a problem with transmitting RTP stream to the phone, a forum on java.sun.com helped me.

I can send you code samples if you really need them.

Denis

New Member

Re: Calls to many IP Phones / RTP issue again

Denis:

I do appreciate your quick response very much. I have been reading the documents in these days. Unfortunately, I am still confused about how to do it. Especially, I don't know how to make the CISCO IP Phone 7960 to know that it is going to receive an audio stream. I also downloaded a sample code from sun about JMF. I can run the code and delivery an audio/video stream to another computer, but now, there is no way for me to play a wav file to the phone. So can you do me a big favor? Could you please tell me the name of the topic on the forum on java.sun.com you found? I do really need the code samples. You will be greatly appreciated if you can send me some of them especially on how to make the phone to listen to the port. My email is michael9102@yahoo.com. Thank you very much for your help.

Re: Calls to many IP Phones / RTP issue again

michael: here's a code sample that you can use to stream a wav file to a Cisco IP phone as G.711 stream. As the streaming format is standard G.711 it should work with all Cisco IP phones, I've tested it with the 7960, 7905, 7970 and the IP Communicator

http://forums.cisco.com/eforum/servlet/NetProf?page=netprof&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.1dd5d0da

And you make the phone listen to it via:

RTPMRx:IP-address:port

Either push that to the phone via

or write a service where a softkey has an RTPMRx: url as described above.

603
Views
0
Helpful
11
Replies
CreatePlease login to create content