RTP Streaming API and G.729 Codec

Version 1
    This document was generated from CDN thread

    Created by: Samit Paul on 18-07-2011 03:57:25 PM
    Hello,

    I need some help on using RTP Streaming API with different codec settings other than G.711.
    I am able to use the G.711 codec successfully but I am not able to work with other codec types.
    I am using Sun JMF(Java Media Framework) studio and VoiceAge G.729 java plug-in for testing. JMF comes default with G.711/ULAW, G.723 and GSM codecs.

    When I use the send mode I can listen the audio stream from JMF studio successfully for G.729 codec.

    But when I send the stream from JMF selecting G.729/RTP it doesn't play on the phone. I only hear some sound bytes that's all. I have checked with wireshark the media streamed is G.729 with RTP payload=110 bytes(=90 seconds framesize). I have also used various framesize for example 20,30,60 for testing, Modified "Preferred G.729 Millisecond Packet Size" parameters in Call Manger Service Parameter without any positive results. And I have verified the audio stream from another JMF/VoiceAge rtp client and I can hear the media perfectly fine.

    When I use G.723/GSM codec with mode=send I get the following error message on the ip phone log.
    313: WRN 04:28:15.539364 JVM: Startup Module Loader|Start Media Handler:? - Start Media  Error: type: UnavailableResource Create Send Stream Failed  Http Error code 400

    send XML:
    <startMedia><mediaStream><type>audio</type><codec>G.729</codec><mode>send</mode><address>225.3.4.5</address><port>25000</port></mediaStream></startMedia>

    receive XML:
    <startMedia><mediaStream receiveVolume="100"><type>audio</type><codec>G.729</codec><mode>receive</mode><address>225.3.4.5</address><port>25000</port></mediaStream></startMedia>

    Phone Model:7971G
    Firmware version: SCCP70.9-1-1SR1S

    CCM Version:7.1.5.32900-2

    Has anyone worked with RTP Streaming API with VoiceAge or any other G.729 codec provider?

    Appreciate any help on this matter.

    Thanks,
    Samit

    Subject: RE: RTP Streaming API and G.729 Codec
    Replied by: Safiye turgut on 02-03-2012 07:27:03 AM
    Hello,

    I want to use g729 codec as you. Do you find any information about this?

    Thanks.

    Subject: RE: RTP Streaming API and G.729 Codec
    Replied by: Sergei Gorbunov on 04-03-2012 09:28:38 PM
    You can invoke RTP streaming via URIs in services. You can instruct the phone to transmit or receive an RTP stream with the following specifications:
    •RTPRx
    •RTPTx
    •RTPMRx
    •RTPMTx

    NoteFor some Cisco Unified IP Phone models, the RTP Streaming URIs have been deprecated by the RTP Streaming API. See the “RTP Streaming API” section on page 4-1.

    The supported format of the RTP stream is as follows:
    •The codec is G.711 mu-Law.
    •The packet size is 20 ms.
    ----------------------------------

    This is a text from

    Cisco Unified IP Phone Services Application Development Notes
    Supporting XML Applications
    Release 7.1(3)

    Subject: RE: RTP Streaming API and G.729 Codec
    Replied by: Stefania Oliviero on 19-04-2012 06:49:06 AM
    I made the same test  with 7970 IPPhone and 8.5 CUCM.
    I'm using the following XML API:
    <startMedia><mediaStream><type>audio</type><codec>G.729</codec><mode>send</mode><address>225.3.4.5</address><port>25000</port></mediaStream></startMedia>

    receive XML:
    <startMedia><mediaStream receiveVolume="100"><type>audio</type><codec>G.729</codec><mode>receive</mode><address>225.3.4.5</address><port>25000</port></mediaStream></startMedia>
    and I have the same problem of Samit Paul.

    Cisco doc (Enhanced RTP Streaming
    XML Service Interface Application Note) says that:

    Supported Platforms
    The following models of IP phones will support this XML Service Interface API, 7906, 7911,
    7931, 7941, 7961, 7970, and 7971. Although several codecs are listed within the schema, only
    the codecs G711, G729 and G722 are currently supported.


    So I expected I can use G.729 codec, but it doesn't work.
    With wireshark I see UDP packet received by the phone...
    Any ideas ?

    Subject: RE: RTP Streaming API and G.729 Codec
    Replied by: Stefania Oliviero on 19-04-2012 08:19:51 AM
    It's a JMF problem. 
    JMF sends RTP packet without to put a delay between packets.  G.729 requires 20 ms delay between packets.
    Between 2 IPPhone one in receive mode and the other in Transmit mode, I can see with Wiresharl the correct G.729 payload.
     


    Cisco doc (Enhanced RTP Streaming
    XML Service Interface Application Note) says that:

    Supported Platforms
    The following models of IP phones will support this XML Service Interface API, 7906, 7911,
    7931, 7941, 7961, 7970, and 7971. Although several codecs are listed within the schema, only
    the codecs G711, G729 and G722 are currently supported.


    So I expected I can use G.729 codec, but it doesn't work.
    With wireshark I see UDP packet received by the phone...
    Any ideas ?