Firefox webrtc rtp payload type

I'm seeing an issue when placing a webrtc call with firefox when the answer SDP has different payload types than the offer. for example, i get an offer from firefox that has the opus codec with payload type 109. if the answer SDP comes in with the opus codec and payload type 110, audio will not be heard. looking in the WebRTC.log file you will see a whole bunch of "IncomingRTPPacket received invalid payloadtype".
i believe the correct behavior in this case is for firefox to transmit opus with RTP payload type 110 (ie the remote payload type) and expect to receive opus with payload type 109. it looks like firefox will send with 110 and expect to receive with 110.
the same scenario with chrome does not have a problem. if i change the SDP answer to match the payload type of the offer, audio can be heard in firefox.
the same issue can be seen with VP8 video or other codecs with dynamic payload types.
for reference, the relevant excerpt from rfc3264:
"In the case of RTP, if a particular codec was referenced with a
specific payload type number in the offer, that same payload type
number SHOULD be used for that codec in the answer. "
in this case the answer SDP is violating the SHOULD in the rfc, but this is sometimes unavoidable when interworking SDP between devices (ie some sort of back-to-back signaling agent).

That RFC is a proposed standard at the moment [http://datatracker.ietf.org/doc/rfc3264/]
However, this would be a great bug for tech evangelism, I would encourage you to file a bug with some technical examples. Way to keep the web open!

Similar Messages

  • AVReceive2 gives error:  No format has been registered for RTP Payload type

    Hello,
    I am using the AVReceive2 program (http://java.sun.com/products/java-media/jmf/2.1.1/solutions/AVReceive.html#requirements) as posted to hopefully play back RTP in real time. I have it set to receive a known good RTP stream and I receive the following error:
    No format has been registered for RTP Payload type 8
    I have seen posts for a similar error but it seemed to be in the context of an A-law add on which am I not doing. Am I missing a plug-in or modification to the code?
    thanks in advance,
    Erich

    Hi Erich,
    I have the same problem when I using AVReceive2.java .Could yuo describe your solution in order to solve the issue?
    In order to create the RTP stream I used VLC and is impossible to change the encapsulation method and then the payload type .
    What kind of streaming server are yuo used?
    My e-mail address is [email protected]
    If you can , please write me your proceeding in order to solve the problem.
    Thank you

  • Support RTP payload type 8 and 13

    I am trying to use JMF to play back recorded RTP streams containing RTP payload type 8 (ALaw) and 13 (CN). It seems these are not supported by default.
    Did anybody add support to JMF to support these payload types succesfully? Help is greatly appreciated.

    Hello
    i have a same problem.so i was asking if you solved it or not.
    Thanks

  • Dynamic rtp payload type 123

    Hello,
    We have a problem about dynamic rtp payload type 123. Wireshark is shown rtp packets which dynamic rtp payload type is 123 malformed.
    why do cisco gateways send dynamic rtp payload type 123 packets to non-cisco gateways? Can we disable dynamic rtp payload type 123 nagotiation?
    please help,
    Thanks
    Omer

    Hello again,
    Signaling Protocol is H323. I can not take debug h323 etc  logs because of the device has too many calls. But you can find below rtp debug that i took before.
    I can not share AS full config because privacy stuff.
    voice service voip
    fax protocol t38 ls-redundancy 0 hs-redundancy 0 fallback pass-through g711ulaw
    h323
      emptycapability
      h225 timeout setup 10
    modem passthrough nse codec g711ulaw
    sip
      bind control source-interface Loopback3
      bind media source-interface Loopback3
    no voice-fastpath enable
    dial-peer voice 1 voip
    description INCOMING Traffic
    service incomingcallcontrol
    voice-class aaa 3
    voice-class codec 101
    incoming called-number B00290..........$
    dtmf-relay rtp-nte h245-signal h245-alphanumeric
    fax-relay ecm disable
    fax rate 14400
    ip qos dscp cs3 signaling
    no vad
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs tx s=10.10.10.1(23690), d=172.20.60.2(12994), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    RTP(54397): fs rx s=10.10.11.1(20928), d=10.10.10.1(23946), pt=123, ts=1303D47D, ssrc=20351C0, marker=0
    Regards

  • Can someone help me with "no format has been reg. for RTP Payload type 10"

    I am trying to send audio from Mac to PC. Mac uses quicktime for java and PC uses jmf. I looked at the Jmf supported formats list and on the SDP file for mac i used payload types like :
    m=audio 2656 RTP/AVP 0
    c=IN IP4 239.60.60.60
    . I also tried other formats too but I always get "no format has been registered for rtp payload type 10". on the pc side. Anyone can help me out? thanks!

    Sprint's unlimited wireless service is actually ten bucks more a month than my Verizon service, according to Sprint's Web site.
    And Verizon's customer support is the best in the industry.
    I have never experienced a "throttling" with my Verizon account. And I have never experienced any limited bandwidth usage problem.

  • Custom RTP Payload Types in JMF

    I have a completely non-audio/video content type that I've sourced from an SVG based whiteboard, which generates a Media Locator. Instantiating a DataSource via the Manager from this Media Locator grabs the correct whiteboard from a static list, and generates a series of controls for how often full updates of the board are sent, collision handling, etc. (Works)
    This generates a custom Format output which is basically the SVG's XML representation (Works)
    Feeding this into a processor, you can request BZIP compression of this data to minimize the transmission bandwidth (works)
    Further feeding this data into a a custom packetizer class breaks the data into chunks, and adds FEC packets to the stream when the buffer has to be broken into 2 or more chunks. Output is a derivative of the earlier custom format. (Works)
    Muxing this data back together gets you a custom DataSource of type "fec.rtp", which technically could handle any data type, but only advertises support for my custom packetized data formats. (Muxer is based on RTPSyncBufferMux - Works)
    Here's where things are getting frustrating. Calling com.sun.media.rtp.RTPSessionMgr.formatSupported (part of RTPSyncBufferMux) will tell you that I've correctly registered these custom formats for RTP transmission, but attempting to create a sendStream gives this error:
    javax.media.format.UnsupportedFormatException: Format of Stream not supported in RTP Session Manager
    at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1104)
    at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1262)
    This is extremely frustrating to put it mildly to have gotten this far and not be able to proceed, but I'm smack up against a brick wall at this point, and pressed for time to get this done. Basically I just want RTP Session Manager to take one buffer at a time and send it over the network. The FEC Depacketizer handles the work of reassembling the chunks, and passing along the data once it has enough to reconstruct a full buffer. (Uses an expiring cache so the data goes away automatically if too much is dropped to reconstruct a full buffer)
    My gut tells me there's some sort of helper that processes the dataSource, and hands data to the RTP Session Manager in a way that it understands that it has a "single packet chunk" (I've seen some classes in the com.sun.media tree that suggest as much to me) but I haven't figured this part out yet. Does anyone have experience enough with this particular API to point me in the right direction?
    Is there any good documentation for the com.sun.media tree incidentally? I'm using a LOT of helper classes from in there because once you look at the source, it's easy to see how useful they are, but it's a pain to dig through 5 or 6 classes to find out what I need to override and what I shouldn't touch.

    Switched everything over to using RTPManager, and found I had to register the type with each individual instance, instead of just doing it once. The resulting exception is now further down in the RTPSessionMgr source, which I'm assuming is progress, though that's a dangerous assumption.
    javax.media.format.UnsupportedFormatException: Format not supported
            at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1147)
            at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1262)
            at SVGEditorPanelTest.DialogTest(SVGEditorPanelTest.java:238)Here's the code, from RTPManager.newInstance to SendStream.start
            // Create the transmitter
            RTPManager rtpMgr = RTPManager.newInstance();
            Codec c = new Packetizer();
            // Register the RTP stream formats
            Format f = c.getSupportedOutputFormats(null)[0];
            Logger.global.info("Registering format: " + f);
            rtpMgr.addFormat(f, 105);
            SessionAddress localAddr = new SessionAddress(InetAddress.getLocalHost(), 1057);
            String cname = "test@localhost";
            String username = System.getProperty("User.name");
            // create our local Session Address
            SourceDescription[] userdesclist = new SourceDescription[]{
                new SourceDescription(SourceDescription.SOURCE_DESC_EMAIL,
                "[email protected]",
                1,
                false),
                new SourceDescription(SourceDescription.SOURCE_DESC_CNAME,
                cname,
                1,
                false),
                new SourceDescription(SourceDescription.SOURCE_DESC_TOOL,
                "Whiteboard Test",
                1,
                false),
                new SourceDescription(SourceDescription.SOURCE_DESC_NAME,
                username,
                1,
                false)
            rtpMgr.initialize(new SessionAddress[]{localAddr}, userdesclist, 0.05,
                    0.25, null);
            SessionAddress destAddr = new SessionAddress(
                    InetAddress.getByName("127.0.0.1"),
                    1058);
            System.out.println("Adding target: " + destAddr.toString());
            rtpMgr.addTarget(destAddr);
            System.out.println("--- Creating Send Stream on port " + localAddr.getDataPort() + " ---");
            System.out.println("Content Type: " + dataOutput.getContentType());
            System.out.println("Stream Format: " + format + "(" + format.getDataType().getCanonicalName() + ")");
            Object[] controls = dataOutput.getControls();
            for (int i = 0; i < controls.length; i++) {
                System.out.println("Control Type: " + controls.getClass().getName());
    rtpMgr.getLocalParticipant().setSourceDescription(userdesclist);
    try {
    SendStream sendStream = rtpMgr.createSendStream(dataOutput, 0);
    sendStream.start();
    System.out.println("New Stream SSRC: " + sendStream.getSSRC());
    System.out.println("New Stream Source: " + sendStream.getDataSource());
    } catch (UnsupportedFormatException ex) {
    System.out.println("Failed format is: " + ex.getFailedFormat());
    throw ex;
    It may be worth noting that this is part of a Unit Test, hence the lack of exception handling.
    Stdout looks like:RTP Format Supported
    Adding target: DataAddress: /127.0.0.1
    ControlAddress: /127.0.0.1
    DataPort: 1058
    ControlPort: 1059
    --- Creating Send Stream on port 1057 ---
    Content Type: fec.rtp
    Stream Format: bzipsvgwb/rtp(byte[])
    Failed format is: bzipsvgwb/rtp
    Edited by: sh0ckbyt3 on Dec 29, 2008 12:05 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • RTP payload type 8 G711 AlAW RTP

    Hi everybody,
    I look for a decoder to decode ALAW_RTP. For my project I have to save RTP stream (a-law and not mu-law) to a wave file.
    I found this in the forum : http://forum.java.sun.com/thread.jspa?forumID=28&threadID=505153
    But they don't put a solution for this problem.
    Is anybody solve this problem?
    How can i create the DePackatazer for ALAW_RTP?
    Please help!
    Gassman

    I find the solution :
    It's a mixe between the link upside, com.ibm.media.codec.alaw.JavaDecoder, com.ibm.media.codec.ulaw.JavaDecoder and http://java.sun.com/products/java-media/jmf/2.1.1/solutions/PcmDepacketizer.java
    class AlawRtpDecoder.java
    import javax.media.Buffer;
    import javax.media.Control;
    import javax.media.Format;
    import javax.media.format.AudioFormat;
    import com.sun.media.controls.SilenceSuppressionAdapter;
    * Mu-Law to PCM java decoder
    * @Author Shay Ben-David [email protected]
    public class AlawRtpDecoder extends com.ibm.media.codec.audio.AudioCodec {
         // Variables
         static private final byte[] lutTableL = new byte[256];
         static private final byte[] lutTableH = new byte[256];
         static String PLUGIN_NAME = "ALAW_RTP DePacketizer";
         static String CUSTOM_PCM = "alaw/rtp";
         static int DEFAULT_RATE = 8000;
         static int DEFAULT_SIZE = 16;
         static int DEFAULT_CHNLS = 1;
         // Methods
         public AlawRtpDecoder() {
              supportedInputFormats = new AudioFormat[] { new AudioFormat(CUSTOM_PCM) };
              // We have to assume some defaults for the output
              // format. Otherwise, the data flow graph cannot
              // be initialized.
              supportedOutputFormats = new AudioFormat[] { new AudioFormat(
                        AudioFormat.LINEAR, DEFAULT_RATE, DEFAULT_SIZE, DEFAULT_CHNLS) };
         protected Format[] getMatchingOutputFormats(Format in) {
              AudioFormat af = (AudioFormat) in;
              supportedOutputFormats = new AudioFormat[] { new AudioFormat(
                        AudioFormat.LINEAR, af.getSampleRate(), 16, af.getChannels(),
                        AudioFormat.LITTLE_ENDIAN, // isBigEndian(),
                        AudioFormat.SIGNED // isSigned());
              return supportedOutputFormats;
         /** Initializes the codec. * */
         public void open() {
              initTables();
         public String getName() {
              return PLUGIN_NAME;
         static public boolean matche(Format input, Format supported[]) {
              for (int i = 0; i < supported.length; i++) {
                   if (input.matches(supported))
                        return true;
              return false;
         public Format[] getSupportedOutputFormats(Format input) {
              if (input == null || matche(input, supportedInputFormats)) {
                   return supportedOutputFormats;
              return new Format[0];
         public Format setInputFormat(Format format) {
              if (!matche(format, supportedInputFormats))
                   return null;
              inputFormat = (AudioFormat) format;
              return format;
         public Format setOutputFormat(Format format) {
              if (!matche(format, supportedOutputFormats))
                   return null;
              outputFormat = (AudioFormat) format;
              return format;
         public Format[] getSupportedInputFormats() {
              return supportedInputFormats;
         protected Format getInputFormat() {
              return inputFormat;
         protected Format getOutputFormat() {
              return outputFormat;
         public void close() {
         /** decode the buffer * */
         public int process(Buffer inputBuffer, Buffer outputBuffer) {
              if (!checkInputBuffer(inputBuffer)) {
                   return BUFFER_PROCESSED_FAILED;
              if (isEOM(inputBuffer)) {
                   propagateEOM(outputBuffer);
                   return BUFFER_PROCESSED_OK;
              byte[] inData = (byte[]) inputBuffer.getData();
              byte[] outData = validateByteArraySize(outputBuffer, inData.length * 2);
              int inpLength = inputBuffer.getLength();
              int outLength = 2 * inpLength;
              int inOffset = inputBuffer.getOffset();
              int outOffset = outputBuffer.getOffset();
              for (int i = 0; i < inpLength; i++) {
                   int temp = inData[inOffset++] & 0xff;
                   outData[outOffset++] = lutTableL[temp];
                   outData[outOffset++] = lutTableH[temp];
              updateOutput(outputBuffer, outputFormat, outLength, outputBuffer.getOffset());
              return BUFFER_PROCESSED_OK;
         private void initTables (){
         for (int i=0;i<256;i++) {
         int input = i ^ 0x55;
         int mantissa = (input & 0xf ) << 4;
         int segment = (input & 0x70) >> 4;
         int value = mantissa+8;
         if (segment>=1)
         value+=0x100;
         if (segment>1)
         value <<= (segment - 1);
         if ( (input & 0x80)==0 )
         value = -value;
         lutTableL[i]=(byte)value;
         lutTableH[i]=(byte)(value>>8);
         public java.lang.Object[] getControls() {
              if (controls == null) {
                   controls = new Control[1];
                   controls[0] = new SilenceSuppressionAdapter(this, false, false);
              return (Object[]) controls;
    for use this juste add the following codec in your main program
    RTPManager manager = RTPManager.newInstance();
    AlawRtpDecoder alawRtpDepktizer = null;
              try
    alawRtpDepktizer = new AlawRtpDecoder();
                   PlugInManager.addPlugIn(alawRtpDepktizer.getClass().getName(),
                             alawRtpDepktizer.getSupportedInputFormats(),
                             alawRtpDepktizer.getSupportedOutputFormats(null),
                             PlugInManager.CODEC);
                   Format AlawRtpFormat =(alawRtpDepktizer.getSupportedInputFormats())[0];
                   manager.addFormat(AlawRtpFormat, 8);
    }null

  • JMF Payload type 33

    Hey guys, i m trying to play RTP stream video but everytime i play, it give me the following error.
    No format has been registered for RTP Payload type 33
    Does anyone has any idea about this?? I am using VLC media player to stream the output. Please help me how to get rid of this error.
    Maybe a codec or a plugin problem ?

    Hi,
    Payload Type 33 is MP2T, seems like the receiving side don't know what you are sending, which means the receiving side is not supported.
    Anyway, for more information on the payload type, please refer to RFC3551.
    Best Regards
    Ferdinand Ng

  • RTP payload(RFC 2833) DTMF handler in JMF

    hi all,
    anybody tell how I receive RTP payload format vai JMF .I am able to receive DTMF through SIP INFO.
    [email protected]

    Hi Teodor.
    Thanks for your answer.
    This is my dial-peer 4000:
    dial-peer voice 4000 voip
    service session
    destination-pattern [2-9]T
    rtp payload-type nte 98
    voice-class codec 55
    session protocol sipv2
    session target ipv4:65.xxx.xxx.35
    dtmf-relay rtp-nte
    The voice class codec 55 puts the g729a as the preferred one.
    Your answer gave me the idea where to look and found that the calls that doesn't match the dial peer 4000 and go by the default (PeerID= 0) are shown at the show call history voice command as using tx_DtmfRelay=rtp-nte
    while the calls that do match the dp 4000 for an unknown reason are shown as using tx_DtmfRelay=inband-voice.
    I am looking for a reason but I think it is with the supplier of the DIDs as another supplier using the same dp4000 and also G729a codec looks like using rtp-nte.
    If you have any further idea please let me know.
    Regards

  • Rtp dynamic payload type 123

    Hello,
    We have a problem about RTP dynamic payload type 123. If you know, please explain when cisco gateways are nagotiation between non-cisco media gateways. When we look at rtp packets, Wireshark tag this packets malformed. Is there a way Can we disable between gateways are nagotiation with dynamic payload type 123.
    i found only below info about rtp dynamic payload type 123 that is used for indicating Cisco CAS information.
    RTP Payload Value
    RTP Payload Definition
    123
    Indicates Cisco CAS information.
    regards,
    Omer

    What is your hardware?
    Do you have already see this doc?
    Enable RTP Signaling on AS5350 and AS5400
    In order to prevent errors caused by RTP packets of payload type “123” on Cisco AS5350 and AS5400 series platforms, RTP signal processing is disabled by default. Under some circumstances, packets of this type can cause an invalid memory address error in AS5350 and AS5400 series platforms, potentially crashing the devices.
    On these models, you can enable RTP signal processing using the voice-fastpath voice-rtp-signalling enable hidden configuration command. However, before you enable RTP signal processing, prepare the platform to handle RTP packets of payload type “123” by enabling T-CCS.
    After you prepare the platform, you can use these commands in order to enable or disable RTP signal processing.
    In order to enable RTP signal processing, use this command:
    Router(config)#voice-fastpath voice-rtp-signalling enable
    In order to disable RTP signal processing, use this command:Router(config)#no voice-fastpath voice-rtp-signalling enable

  • Payload type of wav files encoded with gms codec

    Hello everybody,
    I have an application which receives and plays alaw formated wav files using JMF(with the help of some additional libraries) . I want to use lower bandwidth for my application. A quick google search indicated that i can do this by using gsm format.
    I have 2 questions:
    1-) what are the differences between .gsm files and .wav files which are encoded with gsm codecs? Which one's quality is better? which one's compression ratio is better?
    2-) which payload type should i use for wav files which are encoded with gsm codecs?
    In [Rtp Payload list|http://www.iana.org/assignments/rtp-parameters] page, there is a gsm entry whose payload is 3. I suppose that is for files with gsm extension. I tried it but it didn't work with my wav sample (as u can guess it was encoded with gsm 6.10 codec)
    Any suggestion is appreciated. If you have a comment about the main problem (which is using lower bandwidth for sending audio data) i would also like to hear it
    Thanks in advance
    btw i also tried this [gsm sample|http://www.nch.com.au/acm/sample.gsm] with payload 3.At first it worked but then strangely it played just static. In Sun's page it says gsm format is supported. I played both ulaw and alaw succesfully so i wonder what i am doing wrong. Do we need to tell the player that it is going to receive data in gsm format? I didnt do such a thing for u-law and a-law formats...
    Edited by: Bugra.Hasbek on Nov 10, 2008 1:18 AM

    Bugra.Hasbek wrote:
    Hello everybody,
    I have an application which receives and plays alaw formated wav files using JMF(with the help of some additional libraries) . I want to use lower bandwidth for my application. A quick google search indicated that i can do this by using gsm format.
    I have 2 questions:
    1-) what are the differences between .gsm files and .wav files which are encoded with gsm codecs? Which one's quality is better? which one's compression ratio is better?I would imagine they are the same...
    2-) which payload type should i use for wav files which are encoded with gsm codecs?I would imagine 3...
    In [Rtp Payload list|http://www.iana.org/assignments/rtp-parameters] page, there is a gsm entry whose payload is 3. I suppose that is for files with gsm extension. I tried it but it didn't work with my wav sample (as u can guess it was encoded with gsm 6.10 codec)
    Any suggestion is appreciated. If you have a comment about the main problem (which is using lower bandwidth for sending audio data) i would also like to hear itMy suggestion would be not to worry about so much stuff. JMF does all of this for you automaticlly.
    On the sender side, make your processor take in whatever kind of supported file you want. Set the processor to output your GSM mono, and then you can just use a Player to play it on the other side. It's really not very different than the examples...
    [http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVTransmit.html]
    When you're programming the tracks, and you're calling "setFormat" on them, just set their format to be gsm.
    [http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVReceive.html] should be able to play this out of the box...

  • AVReceive2 Sample - Payload Type 13 (Comfort Noise)

    I'm getting an error from an RTP Stream changing to payload type 13...
    Is there any way around this problem, I want to record the stream...
    Are there any other java programs that can deal with this payload type or other samples...
    I need something lightweight...
    Thanks,
    Ted

    Is there any way around this problem, I want to record the stream...Yeah, go in and implement some code to handle the LocalPayloadChangeEvent when it's received by the SendStreamListener...
    Are there any other java programs that can deal with this payload type or other samples...No sample code I've seen online handles that event, but it shouldn't be difficult to handle. Seems like the best case scenerio would probably be stopping and restarting your Processor/Player, and the worst-case scenario would be unrealizing and rerealizing/starting your Processor/Player...

  • Add dynamic Payload Type to JMF

    Hi all
    I am trying to write a Java application to play streaming video (RTP with dynamic payload of 96) from UCT IPTV server, http://uctimsclient.berlios.de/uctiptv_howto.html
    (My application could receive the streaming RTP but cannot play it)
    I think that I need to register 2 formats to JMF:
    1) MPA, payload type 96
    2) H263_1998, payload type 96
    Below is the information when I run the server.
    ffenc_h263p Caps:
    video/x-raw-yuv, format=(fourcc)I420, width=(int)352, height=(int)240, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
    Video Caps:
    application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H263-1998, payload=(int)96, ssrc=(guint)2779507444, clock-base=(guint)599556584, seqnum-base=(guint)5482
    Audio Caps:
    application/x-rtp, media=(string)audio, clock-rate=(int)90000, encoding-name=(string)MPA, payload=(int)96, ssrc=(guint)3836987939, clock-base=(guint)2707891566, seqnum-base=(guint)52755
    I don't know much about codecs. Could any one please help me out with this problem.
    Thanks
    gladiator_vn

    Here is one of the coolest things about LV, and one of its major advantages over languages like VB - it has automatic memory management and it compiles whenever you make a change. This allows you to be very free in the way you handle data and change your code. In this case, you should note the small gray dot that appears when you wire the dynamic data into the Array of Waveforms input. This gray dot means that LV coerces the source data type (DDT, in this case) to the target data type (Array of waveforms). If it wouldn't match, you would get a broken wire, the VI couldn't run, and if you hover over the wire or press the broken run button you would get an exact description of the error. Cool, eh?
    This can also be seen in other things. For example, you can change an array's data type or number of dimensions by simply doing it. This will automatically be reflected anywhere the array is called in the program, and if anything won't match, the VI will be broken. If you change the # of dimensions of an array, any array function which that array is wired to will adapt. This allows you to be very safe in the way you write code, because you have LV watching all that annoying stuff for you. You don't have to worry about misspelling a variable here (for the most part).
    One important point about coercion - it does take processor power. This will usually only be evident in large arrays or loops, but it is an important point. Another thing is that coercing numeric types can cause you to lose data - coercing a DBL to a U16, for example, will cause you to lose all the fractional data.
    To learn more about LabVIEW, I suggest you try searching this site and google for LabVIEW tutorials. Here and here are a couple you can start with. You can also contact your local NI office and join one of their courses.
    In addition, I suggest you read the LabVIEW style guide and the LabVIEW user manual (Help>>Search the LabVIEW Bookshelf).
    Try to take over the world!

  • Can I have a custom RTP payload, and still use a MediaLocator?

    Hi,
    I think I am a little confused. Can I have a custom RTP payload, and still use Manager.createPlayer(MediaLocator locator) to create my player?
    This doesn't seem possible because the RTPManger's addPayload(Format format, int payloadType) method isn't static, forcing me to always create my RTPManager first.
    Is this a valid observation, or am I missing something?
    Your comments are highly appreciated.
    Kind regards,
    Erwin

    Thanks for your prompt reply.
    The short answer is yes.
    The MediaLocator is used to identify the source, or destination for a media stream. For example this could be a file (file://c:\mydisk\audio.wav) or a URL (http://mydomain/music/audio.wav)
    Ok, I get that, but the MediaLocator is also used to identify the protocol, rtp in this case, and the protocol in its turn is used by the framework to locate the DataSource. I am not suggesting what you write is incorrect, I am only trying to understand how this works the way it does.
    RTP is used to transport streaming media in real time over a network (usually UDP).And that is exactly what I need it for.
    The receiver of an RTP stream is an RTP receiver. Players take the datasource(created from the MediaLocator) and feed the data to the RTP manager so it can be streamed across the network or vice versa.
    The vice versa part is what I am interested in. I need to handle a proprietary video format, packed as RTP, and shipped over UDP. My initial approach was to simply register my DePacketizer with the PlugInManager, and add my custom payload type to the RTPHandler (addFormat(Format fmt, int type)). That obviously doesn't work.
    So what I'm trying to convey is that the MediaLocator used in creating a Player will be different, and is used for a different purpose, than the Internet address, and Port used to create an RTPManager.I need a good night of sleep to think that over. I.m.h.o. there is no reason to handle "http://host:port/video/whatever.ext" different from "rtp://host:port/video/whatever.ext". The only difference is that in the first case I can build my graph based on the extension of whatever, and in the second case I have to wait for my first packet in order to determine the payload type. In both cases I expect "DataSource ds = Manager.createDataSource(ml) to work (and it probably does for the standard payload types).
    The JMF framework has a .../media/protocol/rtp/DataSource class as well as a .../media/protocol/http/DataSource class.
    Is this making any sense?Not sure yet, but I certainly appreciate your help.
    Note: In general you don't need to create a custom Payload for RTP.
    What if I want to ship a proprietary video format?
    Thanks a lot,
    Erwin

  • Payload type

    This is sp pathetic to ask but Oracle docs on AQ are even more pathetic to go through, so please help me on this.
    I'm executing a JMS program to create a Queue table and Queue, how do i specify a CLOB payload type, such as
    SYS.AQ$_JMS_TEXT_MESSAGE stands for the standard TextMessage type supported in JMS, can someone please please help me.

    I pulled up the following example from the 9i doc.
    chapters 12 - 16 have quite a lot of examples on JMS.
    QueueSession q_sess = null;
    AQQueueTable q_table = null;
    AQQueueTableProperty qt_prop = null;
    qt_prop = new AQQueueTableProperty("SYS.AQ$_JMS_BYTES_MESSAGE");
    qt_prop.setMultiConsumer(true);
    qt_prop.setCompatible("8.1");
    q_table = ((AQjmsSession)q_sess).createQueueTable("boluser", "bol_ship_queue_table", qt_prop);
    null

Maybe you are looking for

  • Downloaded Firefox 4 and now I can't get rid of the disk image.

    I downloaded Firefox 4.0 on my Mac (Intel-based laptop) a week or so ago, followed the directions (moved the one image to the applications folder image), but now it won't let me get rid of the disk image. Trash won't let me empty it since Firefox is

  • IBASE Status update Function Module/ Table Field for status

    Dear Experts We need function module to change status of IBase. Please tell me standard function module if any. Or if no standard fuction moudle exists, please tell me tables which contains user and system status. Thanks and regards

  • NEED HELP PRINTING LABELS ON MY MACBOOK PRO. PLEASE!!

    HELP!  I HAVE A 6 MONTH OLD MACBOOK PRO AND AM USING THE NEWEST VERSION OF PAGES.     I DOWNLOAD MAILING ADDRESSES FROM THE TAX OFFICE FORMATTED FOR AVERY 5160 LABELS.     THE DOWNLOAD COMES IN AS A .RTF  (WORD RICH TEXT FORMAT).  I CAN'T OPEN THE DO

  • Unable to open files with unicode filenames

    Hi, I am attempting to load a file that contains unicode characters in the filename with the Flash Player 9 ActiveX control but I am unable to do so. If however I switch my system's code page via the regional and language options to a code page that

  • How to complain directly to apple

    does anyone know how we can contact apple directly by email and get a reply , instead of having to try and do chat sessions with them and they dont start the chat or being directed here