Sequence Error in RTP Stream

What anomalies are we expecting if we are getting Sequence error and high Delta and Jitter values in RTP stream.

You can expect voice quality issues mostly choppy voice.
Regards,
Anup

Similar Messages

  • How to read sequence numbers from RTP packets

    hi everyone.
    i want to know how to read sequence numbers of RTP packets. I will need that to reconstruct my stream from packet losses.
    URGENT Help needed!!

    The StreamTokenizer parses all numbers into only one type of value, a double. If you know that all the numeric values in the file will be integers, you could just cast the nval double field to an int and the toString() method will format it correctly.
    If you want to have different tokens and value types for different kinds of numbers, you will have to sub-class StreamTokenizer and add these capabilities yourself. You can add the type constant TT_INT, and provide an int field named ival. The toString() method would then format the value in the correct manner.
    If, on the other hand, you are actually looking for the exact text that was parsed, you could add code that collects the characters as they are parsed for any token type into the sval field in the nextToken() method, just like it already does when the token is a TT_WORD. In this manner sval is always valid for any token type.
    I hope you find this of some help.

  • Receiving Video RTP Stream (JMF) in JME ( MMAPI ) - URGENT !!!

    Hi Folks...
    I�m trying to develop an application that sends the images from a web cam connected to the computer, to the PDA that the images can be viewed by the user...
    My code for the JMF RTP Video Stream is as follows.
    Processor proc = null;
              javax.media.protocol.DataSource ds = null;
              TrackControl[] tc = null;
              int y;
              boolean encodingOk = false;
              Vector<javax.media.protocol.DataSource> datasources = new Vector<javax.media.protocol.DataSource>();
              for( int x = 0 ; x < camerasInfo.length ; x++ ){
                   try {
                        proc = Manager.createProcessor(camerasInfo[x].getLocator());
                   }catch (NoProcessorException e) { System.out.println("Erro ao int�nciar PROCESSOR: " + e);     }
                    catch (IOException e) { System.out.println("Erro ao int�nciar PROCESSOR: " + e); }
                   proc.configure();
                   try {
                        Thread.sleep(2000);
                   } catch (InterruptedException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                   proc.setContentDescriptor( new ContentDescriptor(ContentDescriptor.RAW_RTP) );
                   tc = proc.getTrackControls();
                   for( y = 0; y < tc.length ; y++ ){
                        if (!encodingOk && tc[y] instanceof FormatControl){
                             if( ( (FormatControl) tc[y] ).setFormat( new VideoFormat(VideoFormat.RGB) ) != null ){
                                  tc[y].setEnabled(true);                              
                             }else{
                                  encodingOk = true;
                        }else{
                             tc[y].setEnabled(false);
                   proc.realize();
                   try {
                        Thread.sleep(2000);
                   } catch (InterruptedException e1) {
                        e1.printStackTrace();
                   try{
                        ds = proc.getDataOutput();
                   }catch(NotRealizedError e){
                        System.out.println("ERRO ao realizar datasource: " + e);
                   }catch(ClassCastException e){
                        System.out.println("Erro ao realizar datasource: " + e);
                   datasources.add(ds);
                   System.out.println( ds.getLocator() );
                   encodingOk = false;
              MediaLocator ml = new MediaLocator("rtp://10.1.1.100:99/video");
              try {
                   DataSink datSink = Manager.createDataSink(ds , ml);
                   datSink.open();
                   datSink.start();
              } catch (NoDataSinkException e) {
                   System.out.println("Erro ao instanciar DataSink: " + e );
              } catch (SecurityException e) {
                   System.out.println("Erro ao iniciar DataSink: " + e);
              } catch (IOException e) {
                   System.out.println("Erro ao iniciar DataSink: " + e);
              }I�m not sure if this code is correctly... it is ?
    So... the next part of the systems runs on the PDA..
    The code that access this RTP Stream is as follows..
              VideoControl c = null;
              try {
                   player = Manager.createPlayer("rtp://10.1.1.100:99/video");
                   c = (VideoControl) player.getControl("VideoControl");
                   tela = (Item) c.initDisplayMode( GUIControl.USE_GUI_PRIMITIVE, null);
                   player.start();
                   append(tela);
              } catch (IOException e) {
                   str.setText(e.toString());
                   append( str );
              } catch (MediaException e) {
                   str.setText(e.toString());
                   append( str );
              }So when the APP try to create a player for "rtp://10.1.1.100:99/video" an MediaException is throwed..
    javax.microedition.media.MediaException: Unable to create Player for the locator: rtp://10.1.1.100:99/video
    So... I don�t know what happen =/
    The error is in the PDA module ? Or in the computer�s initialization off the RTP Video Streaming ?
    I need finish this job at next week... so any help is usefull..
    Waiting for answers
    Rodrigo Kerkhoff

    First of all: before going onto the j2me part, make sure the server works, before doing anything else! Apparently, it doesn't...
    The MediaLocator is generally used to specify a kind of URL depicting where the data put into the datasink should go to. In your case, This cannot be just some URL where you want it to act as a rtps server. You'll need to implement that server yourself I guess.

  • Adding Effect on an incoming H.263/RTP stream

    Hi,
    I am playing an h.263/rtp stream which is multicasted over a network. I want to play the file with rotation or some other effect added to it. I tried to see following link for some help(as the forums suggested):- http://java.sun.com/products/java-media/jmf/2.1.1/solutions/RotationEffect.html. But the link is disabled and new link which they are providing does not contain the example.
    Can any of me help me how to add the effect on h263/rtp.
    Though i already created my effect class and tried adding it. But could not add the effect.
    Kindly give me some directions.

    Is there some error in above code or if there is some other issue.There's an error in the above code because you're assuming I'm being imprecise with my language. I am not.
    You must copy the data from the input buffer to the output buffer...
    Buffer objects are wrappers around byte[], and you cannot copy data from one array to another by modifying the object references...which is what your code does.
    public int process(Buffer inBuffer, Buffer outBuffer) {
        // Make sure the output buffer will hold data
        if (!(outBuffer.getData() instanceof byte[])) {
            outBuffer.setData(new byte[inBuffer.getLength()]);    
            outBuffer.setLength(inBuffer.getLength());  
            outBuffer.setOffset(0);
        // Make sure the output buffer is long enough
        if (outBuffer.getLength() + outBuffer.getOffset() < inBuffer.getLength())) {
            int offset = outBuffer.getOffset();
            int length = inBuffer.getLength() + outBuffer.getOffset();
            byte[] oldData = (byte[])outBuffer.getData();
            byte[] newData = new byte[length];
            // Copy the previous data
            for (int i = 0; i < offset; i++) {
                newData[i] = oldData;
    // Set the variables for the output buffer
    outBuffer.setData(newData);
    outBuffer.setLength(length);
    outBuffer.setOffset(offset);
    // Copy the data from in to out
    int j = outBuffer.getOffset();
    for (int i = inBuffer.getOffset(); i < inBuffer.getOffset() + inBuffer.getLength(); i++) {
    ((byte[])outBuffer.getData())[j++] = ((byte[])inBuffer.getData())[i];
    return BUFFER_PROCESSED_OK;
    That's untested code above, fix my dumb mistakes as necessary.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Merging RTP streams and writing to file

    I'm am in the middle of project using JMF i'm trying to merge incoming RTP streams and write them to file but i always have problem with formats. I have created processor with merged DataSource i set ContentDescriptor to different FileTypeDescriptors and tried to transcode the RTP streams to different formats, but always processor couldnt realize because of this error:
    Unable to handle format: LINEAR, 8000.0 Hz, 16-bit, Mono, LittleEndian, Signed
    Unable to handle format: LINEAR, 8000.0 Hz, 16-bit, Mono, LittleEndian, Signed
    Could someone tell me what content descriptors i need to use and what formats to solve this problem. Any help will be appreciated.
    Message was edited by:
    kaligula

    Hello,
    Here is a procedure i wrote to write on text files the content of any table (and also generate the insert SQL order)
    http://oracle.developpez.com/sources/?page=developpement#Extraction_table
    You can download the script file here http://sheikyerbouti.developpez.com/src/extraction_table.zip
    Hope this help you.
    Francois

  • Write(Export) the RTP Stream from a SIP Call to an audio file

    I am working on telephony system that need record each call to a file.
    I got the RTP Stream in ReceiveStreamEvent handler and start to record
    the problem is i got a file and play it but there are any sounds
    when i set FileTypeDescriptor.WAVE and AudioFormat.ULAW
    I try out the FileTypeDescriptor.WAVE and AudioFormat.IMA4_MS, i got a fixed size file with 60kb
    if the FileTypeDescriptor.MPEG_AUDIO and AudioFormat.MPEG, the processor cannot be realize,
    the thread is blocked!!
    Could anyone save me? thanks in advanced!
    =================================Code===================================================
    public void update(ReceiveStreamEvent evt){
    logger.debug("received a new incoming stream. " + evt);
    RTPManager mgr = (RTPManager) evt.getSource();
    Participant participant = evt.getParticipant(); // could be null.
    ReceiveStream stream = evt.getReceiveStream(); // could be null.
    if (evt instanceof NewReceiveStreamEvent)
    try
    stream = ( (NewReceiveStreamEvent) evt).getReceiveStream();
    DataSource ds = stream.getDataSource();
              recorder = new CallRecorderImpl(ds);
    recorder.start();
    catch (Exception e)
    logger.error("NewReceiveStreamEvent exception ", e);
    return;
    ========================================================================================
    this is the CallRecorderImpl Class
    public class CallRecorderImpl implements DataSinkListener, ControllerListener {
         private Processor processor = null;
         private DataSink dataSink = null;
         private DataSource source = null;
         private boolean bRecording = false;
         FileTypeDescriptor contentType = new FileTypeDescriptor(FileTypeDescriptor.WAVE);
         Format encoding = new AudioFormat(AudioFormat.IMA4_MS);
    MediaLocator dest = new MediaLocator("file:/c:/bar.wav");
         public CallRecorderImpl(DataSource ds) {
              this.source = ds;
         public void start() {
              try {
                   processor = Manager.createProcessor(source);
                   processor.addControllerListener(this);
                   processor.configure();
              } catch (Exception e) {
                   System.out.println("exception:" + e);
         public void stop() {
              try {
                   System.out.println("stopping");
                   this.dataSink.stop();
                   this.dataSink.close();
              } catch (Exception ep) {
                   ep.printStackTrace();
         public void controllerUpdate(ControllerEvent evt) {
              Processor pr = (Processor) evt.getSourceController();
              if (evt instanceof ConfigureCompleteEvent) {
                   System.out.println("ConfigureCompleteEvent");
                   processConfigured(pr);
              if (evt instanceof RealizeCompleteEvent) {
                   System.out.println("RealizeCompleteEvent");
                   processRealized(pr);
              if (evt instanceof ControllerClosedEvent) {
                   System.out.println("ControllerClosedEvent");
              if (evt instanceof EndOfMediaEvent) {
                   System.out.println("EndOfMediaEvent");
                   pr.stop();
              if (evt instanceof StopEvent) {
                   System.out.println("StopEvent");
                   pr.close();
                   try {
                        dataSink.stop();
                        dataSink.close();
                   } catch (Exception ee) {
                        ee.printStackTrace();
         public void dataSinkUpdate(DataSinkEvent event) {
              if (event instanceof EndOfStreamEvent) {
                   try {
                        System.out.println("EndOfStreamEvent");
                        dataSink.stop();
                        dataSink.close();
                        System.exit(1);
                   } catch (Exception e) {
         public void processConfigured(Processor p) {
              // Set the output content type
              p.setContentDescriptor(this.contentType);
              // Get the track control objects
              TrackControl track[] = p.getTrackControls();
              boolean encodingPossible = false;
              // Go through the tracks and try to program one of them
              // to output ima4 data.
              for (int i = 0; i < track.length; i++) {
              try {
                   track.setFormat(this.encoding);
                   encodingPossible = true;
              } catch (Exception e) {
                   track[i].setEnabled(false);
              if (!encodingPossible) {
                   System.out.println("cannot encode to " + this.encoding);
              return;
              p.realize();
         public void processRealized(Processor p) {
              System.out.println("Entered processRealized");
    DataSource source = p.getDataOutput();
    try {
         dataSink = Manager.createDataSink(source, dest);
         dataSink.open();
         dataSink.start();
         dataSink.addDataSinkListener(new DataSinkListener() {
                        public void dataSinkUpdate(DataSinkEvent e) {
                             if (e instanceof EndOfStreamEvent) {
                                  System.out.println("EndOfStreamEvent");
                                  dataSink.close();
    } catch (Exception e) {
         e.printStackTrace();
         return;
              p.start();
    ============================================

    Which shows that the output stream cannot be of that particulat format and descriptor.
    Look at this code
    import javax.swing.*;
    import javax.media.*;
    import java.net.*;
    import java.io.*;
    import javax.media.datasink.*;
    import javax.media.protocol.*;
    import javax.media.format.*;
    import javax.media.control.*;
    class Abc implements ControllerListener
         DataSource ds;
         DataSink sink;
         Processor pr;
         MediaLocator mc;
         public void maam() throws Exception
              mc=new MediaLocator("file:C:/Workspace/aaaaa.mpg");
              pr=Manager.createProcessor(new URL("file:G:/java files1/jmf/aa.mp3"));
              pr.addControllerListener(this);
              pr.configure();          
         public void controllerUpdate(ControllerEvent e)
              if(e instanceof ConfigureCompleteEvent)
                   System.out.println ("ConfigureCompleteEvent");
                             Processor p = (Processor)e.getSourceController();
                   System.out.println ("ConfigureCompleteEvent");
                         processConfigured(p);
              if(e instanceof RealizeCompleteEvent)
                   System.out.println ("RealizeCompleteEvent");
                           Processor p = (Processor)e.getSourceController();
                             processRealized(p);
              if(e instanceof ControllerClosedEvent)
                         System.out.println ("ControllerClosedEvent");
                     if(e instanceof EndOfMediaEvent)
                        System.out.println ("EndOfMediaEvent");
                        Processor p = (Processor)e.getSourceController();
                        p.stop();
                 if(e instanceof StopEvent)
                         System.out.println ("StopEvent");
                         Processor p = (Processor)e.getSourceController();
                         p.close();
                   try
                        sink.stop();
                        sink.close();
                   catch(Exception ee)
         public void processConfigured(Processor p)
              System.out.println("Entered processConfigured");
              p.setContentDescriptor (new FileTypeDescriptor (FileTypeDescriptor.MPEG_AUDIO));       
                /*    TrackControl track[] = p.getTrackControls ();
                 boolean encodingPossible = false;
                 for (int i = 0; i < track.length; i++)
                      try
                           track.setFormat (new VideoFormat (VideoFormat.MPEG));
                   encodingPossible = true;
                   catch (Exception e)
                   track[i].setEnabled (false);
         p.realize();
         public void processRealized(Processor p)
              pr=p;
              System.out.println("Entered processRealized");
              try
                   MediaLocator dest = new MediaLocator("file:C:/Workspace/ring1.mpg");
                   sink = Manager.createDataSink(p.getDataOutput(), dest);
              sink.addDataSinkListener(new DataSinkListener()
                        public void dataSinkUpdate(DataSinkEvent e)
                             if(e instanceof EndOfStreamEvent)
                        System.out.println ("EndOfStreamEvent");
                                  sink.close();
                   sink.open();
                   sink.start();
              catch(Exception eX)
              System.out.println("Just before start");
              p.start();
    /*     public void dataSinkUpdate(DataSinkEvent event)
              if(event instanceof EndOfStreamEvent)
                   try
                        System.out.println("EndOfStreamEvent");
                        dsk.stop();
                        dsk.close();
                        System.exit(1);
                   catch(Exception e)
    public class JMFCapture6
         public static void main(String args[]) throws Exception
              Abc a=new Abc();
              a.maam();

  • Using RTP stream as data source

    I have successfully written a program that reads G.711 audio from a wav file and sends it out over the network.
    I'm trying to modify that program so that instead of getting its source audio from a file, it instead receives the audio from an RTP stream. So, in effect, it is simply receiving audio from one socket and sending it back out another.
    The error I'm encountering:
    [java] javax.media.NoProcessorException: Cannot find a Processor for: rtp://172.30.18.140:32916
    [java] at javax.media.Manager.createProcessorForContent(Manager.java:1663)
    [java] at javax.media.Manager.createProcessor(Manager.java:627)
    Here is the code fragment where the exception occurs:
    processor = javax.media.Manager.createProcessor(new MediaLocator("rtp://172.30.18.140:32916"));
    Can anybody help? Thanks!
    <removed funky formatting><br>
    Message was edited by:
    feh

    Hi,
    I Had a very similar problem, but in addiction I had to store data in a buffer before retransmission. I resolved it employing low level classes. At this time, I still do not know any other solution, and nobody helped me in any way, also in this forum...
    So, first you have to access single frames of the stream (Buffer or ExtBuffer objects) using a RawBufferParser, then you have to reconstruct a DataSource by multiplexing the frames (use an appropriate Multiplexer class, such as RTPSynchBufferMux).
    The big problem is that there is no documentation avalaible about how to use these classes: I have lerned all I know by "reverse engineering" (lots of hours spent in reading very long annoying code). A little help can be given by the PlugIn Viewer of JMStudio, that tells you which classes are to be employed.
    I have not tried to retransmit data "straightforward", without access single frames, because that was not my task. Maybe if you use RTPManager, it is possible to get a DataSource by the ReceiveStream object, and then to pass it to another RTPManager to create a SendStream.
    I do not know any simpler way to do that, but this does not mean that it does not exist...!
    good luck.
    Alberto M. (Italy)

  • Attempting to write RTP stream to wave

    I have been working long and hard trying to figure out to save an RTP stream from a Cisco phone to a wave. I need the wave file to be in the format ULAW, 8khz, 8 bit mono.
    Through much research this is the code I come up with but I does not work. I states that I am trying to get a datasink for null when I try to create the filewriter datasink.
    I also have gotten the following error message with other version of the code below:
    newReceiveStreamEvent exception Cannot find a DataSink for: com.sun.media.protocol.rtp.DataSource@3680c1
    When I get the RTP stream I get the following as the format of the input stream:
    - Recevied new RTP stream: ULAW/rtp, 8000.0 Hz, 8-bit, Mono
    else if (evt instanceof NewReceiveStreamEvent) {
         try {
              stream = ((NewReceiveStreamEvent)evt).getReceiveStream();
    Format formats[] = new Format[1];
    formats[0] = new AudioFormat(AudioFormat.LINEAR,8000,8,1);
    FileTypeDescriptor outputType = new FileTypeDescriptor(FileTypeDescriptor.WAVE);
    DataSource ds = stream.getDataSource();
              // Find out the formats.
              RTPControl ctl = (RTPControl)ds.getControl("javax.media.rtp.RTPControl");
              if (ctl != null){
              System.err.println(" - Recevied new RTP stream: " + ctl.getFormat());
              } else
              System.err.println(" - Recevied new RTP stream");
              if (participant == null)
              System.err.println(" The sender of this stream had yet to be identified.");
              else {
              System.err.println(" The stream comes from: " + participant.getCNAME());
    ProcessorModel processorModel = new ProcessorModel(ds, formats, null);
    Processor processor = Manager.createRealizedProcessor(processorModel);
              processor.setContentDescriptor(new ContentDescriptor(ContentDescriptor.RAW_RTP));
    MediaLocator f = new MediaLocator("file:/C:/output.wav");
    DataSink filewriter = null;
    DataSource tempds = processor.getDataOutput();
    filewriter = Manager.createDataSink(tempds, f);
    filewriter.open();
    Edited by: phodat on Sep 16, 2010 10:17 PM
    Edited by: phodat on Sep 16, 2010 10:20 PM

    The content descriptor is designed to specify the output format, not the input format. The input format is specified by the DataSource automatically, and you set the content descriptor to whatever you want the output format to be. In this case, you'd want to set it to a WAV file.
    You'd then need to go through all of the Track objects on the processor and set their output format to the ULAW specifications as you want there.
    [http://www.cs.odu.edu/~cs778/spring04/lectures/jmfsolutions/examplesindex.html]
    There's actually an example program that exports RTP streams, you can probably use that code without modification to fit your needs.

  • Problem to create RTP stream on Linux by using JMF studio

    Hello All,
    I am trying to use JMStudio in order to create RTP stream
    I have a problem with capture
    I have run Jmfinit I got following messages
    JavaSound Capture Supported = true
    JavaSoundAuto: Committed ok
    java.lang.Error: Can't open video card 0
    java.lang.Error: Can't open video card 1
    java.lang.Error: Can't open video card 2
    java.lang.Error: Can't open video card 3
    java.lang.Error: Can't open video card 4
    java.lang.Error: Can't open video card 5
    java.lang.Error: Can't open video card 6
    java.lang.Error: Can't open video card 7
    java.lang.Error: Can't open video card 8
    java.lang.Error: Can't open video card 9
    it seems to me that i have no directsoundcapture
    therefore i can not create RTP package stream
    How can i add direct sound capture to my capture devices.
    is there any suggestion for this issue?
    King regards
    BEKIR BALCIK
    ARGELA TECHNOLOGIES

    In $ORACLE_BASE/admin you should have a directory structure for the viton1 instance : create a similar directory structure for the viton2 instance.
    In the pfile subdirectory create the initviton2.ora file : you can copy it from initviton1.ora file and change all occurrences of viton1 to viton2.
    At OS prompt : export ORACLE_SID=viton2, then
    sqlplus /nolog
    conn / as sysdba
    startup nomount pfile=$ORACLE_BASE/admin/viton2/pfile/initviton2.ora
    then CREATE DATABASE.....

  • RTP Streaming seek & stop question.

    Is it possible to seek in a rtp stream received at the client. Since rtp works on push data concept,is there a way to implement this.
    I want the server to stop streaming when the client exits. Normally the sender sends Bye Event to Receiver. Is it possible for other way around to tell the sender to stop streaming.
    Thanks.

    From what I understand RTP on it's is basically for a blind transmission, like watch tv or the listening to the Radio, if the RTP stream (analogous to the tv signal or radio waves) is being broadcast you can receive it. With this method you have no control really, you are just given what is being streamed.
    However RTSP, allows you send commands to a server that will stream RTP content, which you can start, stop, pause, and in some cases move forward or backward to a particular time in the sequence.
    You may find the following link useful: http://www.cs.columbia.edu/~hgs/teaching/ais/slides/RTSP.pdf
    hope this helps,
    Stef

  • No Inter-Cluster RTP Stream with Gatekeepers

    Hello,
    Firstly I am no expert in Cisco telephony as we have just recently migrated to a full Cisco solution, so apologies if I ask a fundamental question.
    Client A = Site A
    Client B = Site B
    Client C = Site C
    Site A and Site B are in 1 cluster
    Site C is in another cluster
    Intra-Cluster Traffic Works
    Client A -> Client B within the same cluster (across 2 sites with a low latency link) RTP stream comes up and the call functions as expected.
    Inter-Cluster Traffic Fails (GK to GK)
    Client C -> Client A this works, the RTP stream comes up and the call functions as expected.
    Client A -> Client C this call connects but there is no RTP stream.
    We are using G711 across the board and I have captured a wireshark capture from a Client A -> Client C failed call.
    I have been going through this capture and noticed that when I search H225 (for the gatekeepers) I see the following –
    CS: setup
    RAS: admissionRequest
    RAS: admissionConfirm
    CS: callProeeding
    CS: alerting
    CS: notify
    RAS: registrationRequest
    RAS: registrationConfirm
    CS: notify
    CS: connect
    CS: notify
    CS: releaseComplete
    RAS: disengageRequest  (DISCONECT_REASON=2,TIME=1321266127,DURATION=24,DISCONNECT_STRING=no resource,ORIGIN=0,LINE_NUMBER=GK,OUTBUND_GW_IP=..
    RAS: disengageConfirm
    There are firewalls inbetween and these were the first thing I looked at, but I dont even see any RTP stream trying to be initiated from the far side. Would anyone have any ideas where I could start looking?
    Thanks,
    Peter

    Pat,
    I can not talk to the UC540, but I ran into a situation recently where the SIP gateway was sending out the private extension of the phone number instead of the full DID that was registered to the provider.  The provider was then blocking call.  
    In our SIP debugs we saw the RDNIS information of the private extension I believe. The error code we were getting back from SP was code 404 or something along those lines.
    I recommend you do some debugs and track where the calls fails, compare the SNR call versus a normal call in the debugs, and then if you still get stuck post running configs and debugs back here. 

  • Function sequence error

    Hi Chris, we where using this Java code with TimesTen 5.1.34:
    while (rs.next()) {
    associatedMsbs.add(Integer.toString(rs.getInt(HGROUPID)));
    // Prepare object to insert in database
    SvcLog_VO svcLog = new SvcLog_VO();
    svcLog.setLogId(svcLogDAO.getlogIdNextVal(conn));
    svcLog.setService( CommonConstants.MobileSwitchboardSvcId );
    svcLog.setOperType( CommonConstants.OPER_TYPE_UPDREL );
    svcLog.setEntityType( CommonConstants.ENTITY_TYPE_MOBILESWITCHBOARD);
    svcLog.setEntityId( rs.getInt(HGROUPID) );
    svcLog.setRelEntityId( woUserId );
    // Insert object in database
    svcLogDAO.insertData(svcLog, conn);
    This code no longer works in TimesTen 7.0.3. We receive the following error:
    [TimesTen 7.0.3.0.0 ODBC Driver]Function sequence error.
    We had to change the code this way:
    while (rs.next()) {
    // Prepare object to insert in database
    SvcLog_VO svcLog = new SvcLog_VO();
    svcLog.setLogId(svcLogDAO.getlogIdNextVal(conn));
    svcLog.setService( CommonConstants.MobileSwitchboardSvcId );
    svcLog.setOperType( CommonConstants.OPER_TYPE_UPDREL );
    svcLog.setEntityType( CommonConstants.ENTITY_TYPE_MOBILESWITCHBOARD);
    svcLog.setEntityId( rs.getInt(HGROUPID) );
    svcLog.setRelEntityId( woUserId );
    // Store object in ArrayList
    svcLogs.add(svcLog);
    // Insert the objects in the ArrayList in database
    for (int i = 0; i < svcLogs.size(); i++) {
    SvcLog_VO svcLog = (SvcLog_VO)svcLogs.get(i);
    svcLogDAO.insertData(svcLog, conn);
    Once we split the code in two, first iterating the ResultSet and then inserting the objects, it works properly again. Is there any known issue in TimesTen about this?
    Thanks in advance,

    Hi, Chris:
    The code where this occurs is the following:
    public void insertParameters(String xxx1, String xxx2, String xxx3,
    int xxx4, Connection conn) throws TTException, SQLException {
    PreparedStatement ps = null;
    String query = null;
    try {
    query = queryInsert;
    ps = conn.prepareStatement(query);
    ps.setInt(1, xxx1);
    ps.setString(2, xxx2);
    ps.setString(3, xxx3);
    ps.setString(4, xxx4);
    // If debug is activated, the query is printed
    if (log.isDebugEnabled()) {
    ReadableQuery rq = new ReadableQuery();
    rq.addParam(new Integer(xxx1));
    rq.addParam(new String(xxx2));
    rq.addParam(new String(xxx3));
    rq.addParam(new String(xxx4));
    log.debug(" Query to execute .. [" + rq.get(query) + "]");
    ps.executeUpdate();
    // Exception handling
    catch (Exception ex) {
    log.error(ex);
    throw new TTException(ex);
    } // Resources are closed
    finally {
    try {
    if (ps != null) {
    ps.close();
    } catch (SQLException e) {
    log.error("Error closing JDBC resources");
    throw e;
    This method accesses to DDBB and inserts data in a table with the following structure
    Command> desc wo.bs_tb_bsvc_param_values;
    Table XXXXXXX:
    Columns:
    *aaa                          TT_INTEGER NOT NULL
    *bbb                       TT_CHAR (35) NOT NULL
    ccc TT_CHAR (10) NOT NULL
    ddd TT_CHAR (256) NOT NULL
    1 table found.
    (primary key columns are indicated with *)
    Command>
    Thanks.

  • How to extract data from Buffer and create a RTP stream

    Hi
    I'm working on a project where I need to interrupt a media stream (video and audio) and extract the data. Send the data with a custom protocol. On the recieveing side I would like to reconstruct the stream using only the data chunks.
    I'm currently looking at [DataSourceReader.java|http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/DataSourceReader.java] and more specifically at a method like printDataInfo(Buffer buffer) to extract the data.
    Is it possible to create a RTP stream, only having access to the byte array "data" in Buffer ?
    Thanks in advance.

    camelstrike wrote:
    Hi
    I'm working on a project where I need to interrupt a media stream (video and audio) and extract the data. Send the data with a custom protocol. On the recieveing side I would like to reconstruct the stream using only the data chunks.
    I'm currently looking at [DataSourceReader.java|http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/DataSourceReader.java] and more specifically at a method like printDataInfo(Buffer buffer) to extract the data.
    There are a couple of different ways to get the data. Reading it from inside a DataSink is perfectly fine...
    Is it possible to create a RTP stream, only having access to the byte array "data" in Buffer ?Yes and no.
    [http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/CustomPayload.html]
    You need to know the format of the media in addition to the actual media data...

  • Function sequence error. in 64bit Windows 2008 Server.

    Hi All,
    Pardon me if the posting is not in the correct group.
    I am migrating my application from 32bit(Windows 2003 Server) to 64bit (Windows 2008 Server R2).
    I am getting the following while trying to execute a SQL command
    Encountered ODBC error -1: S1010, 0, [Microsoft][ODBC Driver Manager] Function sequence error .
    Basically internal function call is SQLExecute() function call. This works perfectly for Windows 2003 Server 32bit. I tried the command execute at the background from the command prompt and it is working.
    I checked the squence of call.We have two consecutive SQLBindParameter function call and then we call SQLExecute. Is this sequence incorrect in case of 64bit? I also checked the return code given by SQLExecute which is 99.
    Any help or suggestion would be very much appreciated.
    Thanks,
    -R

    Hi Teun,
    Yes i have build the addon & installer with x86. I am using Interop.SAPbouiCOM.dll ,  Interop.SAPbouiCOM.dll, System.dll , System.XML.dll.
    I have not specified the relative path in code as such but iam loading my forms Load batch action i don't know if it ok in this scenario or not.
    Building the Solution/Project is Successful without any warning.
    While debugging it on my server it gives the same error "Object Reference Not Set to an Instance of an Object".
    Debug Out put last errors are as follows:
    A first chance exception of type 'System.IndexOutOfRangeException' occurred in mscorlib.dll
    'TAMPA800.exe': Loaded 'C:\Windows\SysWOW64\sxs.dll'
    First-chance exception at 0x76afe124 in TAMPA800.exe: Microsoft C++ exception: EEMessageException at memory location 0x0036ecec..
    A first chance exception of type 'System.IO.FileNotFoundException' occurred in TAMPA800.exe
    A first chance exception of type 'System.NullReferenceException' occurred in TAMPA800.exe
    The thread 'Win32 Thread' (0x460) has exited with code 0 (0x0).
    The thread 'Win32 Thread' (0xdb8) has exited with code 0 (0x0).
    The thread 'Win32 Thread' (0xfdc) has exited with code 0 (0x0).
    The thread 'Win32 Thread' (0xfb4) has exited with code 0 (0x0).
    The thread 'Win32 Thread' (0xdc8) has exited with code 0 (0x0).
    The thread 'Win32 Thread' (0xe04) has exited with code 0 (0x0).
    The program '[3872] TAMPA800.exe: Managed' has exited with code 0 (0x0).
    The program '[3872] TAMPA800.exe: Native' has exited with code 0 (0x0).
    Regards
    John

  • [ODBC Driver Manager] Function sequence error

    Hi all,
    i´m trying to built an webservice and if i try to run my code i get following
    error: [ODBC Driver Manager] Function sequence error .CAn someone tell me what
    this means?
    Here comes my code:
         static String Daten(int Nummer)
                        java.sql.Connection conn = null;
                        java.sql.Statement stmt = null;
                   try
                                                           Context ctx = null;
                                                           Hashtable ht = new Hashtable();
                                                           ht.put(Context.INITIAL_CONTEXT_FACTORY,
                                                                          "weblogic.jndi.WLInitialContextFactory");
                                                           ht.put(Context.PROVIDER_URL,
                                  "t3://localhost:7001");
                                  // Get a context for the JNDI look up
                                  ctx = new InitialContext(ht);
                                  javax.sql.DataSource ds
                                  = (javax.sql.DataSource) ctx.lookup ("webservice-data-source");
                                  conn = ds.getConnection();
                                  System.out.println("Making connection...\n");
                                  // execute some SQL statements to demonstrate the connection.
                                  stmt = conn.createStatement();
                                  System.out.println("Vor ResultSet");
                                                 ResultSet result = stmt.getResultSet(); //Bringt Fehler
                                                 final Vector erstespalte = new Vector();
                                                 final Vector zweitespalte = new Vector();
                                                 final Vector drittespalte = new Vector();
                                                 final Vector Zeilen;
                                                 final Vector end = new Vector();
                                  try {//2.Block
                                                 stmt.executeQuery("Select * from Person where Kundennummer=5");
                                                 while(result.next())
                                                                erstespalte.add(result.getObject(1));
                                                                zweitespalte.add(result.getObject(2));
                                                                drittespalte.add(result.getObject(3));
                                                           Zeilen = new Vector();
                                                                     for(Enumeration a = erstespalte.elements() ; a.hasMoreElements()
                                                                                    for(Enumeration b = zweitespalte.elements() ;b .hasMoreElements()
                                                                                              for(Enumeration c = drittespalte.elements() ; c.hasMoreElements()
                                                                                                   Zeilen.add(a.nextElement());
                                                                                                   Zeilen.add(b.nextElement());
                                                                                                   Zeilen.add(c.nextElement());
                                                                                                   end.add(Zeilen);
                                                                               }System.out.println(end);
                                                           result.close();
                                       }//2.try-Block
                   catch (SQLException e) {
                        System.out.println(e);
                                  }//1.try-Block schliessen
                                  catch (Exception e) {
                             System.out.println("Exception was thrown: " + e.getMessage());
                                            finally {
                                                      try {
                                                      if (stmt != null)
                                                           stmt.close();
                                                      if (conn != null)
                                                           conn.close();
                                                      catch (SQLException sqle) {
                                                      System.out.println("SQLException during close(): " + sqle.getMessage());
                                                      }//finally-Block schliessen
                                            return ("HAllo");
              }//Methode abschliessen
    Thank you very much for helping !!!

    Please post this in the JDBC newsgroup: weblogic.developer.interest.jdbc
    Also, please include your full error message.
    -- Rob
    Hakan wrote:
    Hi all,
    i´m trying to built an webservice and if i try to run my code i get following
    error: [ODBC Driver Manager] Function sequence error .CAn someone tell me what
    this means?
    Here comes my code:
    static String Daten(int Nummer)
    java.sql.Connection conn = null;
    java.sql.Statement stmt = null;
    try
    Context ctx = null;
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL,
    "t3://localhost:7001");
    // Get a context for the JNDI look up
    ctx = new InitialContext(ht);
    javax.sql.DataSource ds
    = (javax.sql.DataSource) ctx.lookup ("webservice-data-source");
    conn = ds.getConnection();
    System.out.println("Making connection...\n");
    // execute some SQL statements to demonstrate the connection.
    stmt = conn.createStatement();
    System.out.println("Vor ResultSet");
    ResultSet result = stmt.getResultSet(); //Bringt Fehler
    final Vector erstespalte = new Vector();
    final Vector zweitespalte = new Vector();
    final Vector drittespalte = new Vector();
    final Vector Zeilen;
    final Vector end = new Vector();
    try {//2.Block
    stmt.executeQuery("Select * from Person where Kundennummer=5");
    while(result.next())
    erstespalte.add(result.getObject(1));
    zweitespalte.add(result.getObject(2));
    drittespalte.add(result.getObject(3));
    Zeilen = new Vector();
    for(Enumeration a = erstespalte.elements() ; a.hasMoreElements()
    for(Enumeration b = zweitespalte.elements() ;b .hasMoreElements()
    for(Enumeration c = drittespalte.elements() ; c.hasMoreElements()
    Zeilen.add(a.nextElement());
    Zeilen.add(b.nextElement());
    Zeilen.add(c.nextElement());
    end.add(Zeilen);
    }System.out.println(end);
    result.close();
    }//2.try-Block
    catch (SQLException e) {
    System.out.println(e);
    }//1.try-Block schliessen
    catch (Exception e) {
    System.out.println("Exception was thrown: " + e.getMessage());
    finally {
    try {
    if (stmt != null)
    stmt.close();
    if (conn != null)
    conn.close();
    catch (SQLException sqle) {
    System.out.println("SQLException during close(): " + sqle.getMessage());
    }//finally-Block schliessen
    return ("HAllo");
    }//Methode abschliessen
    Thank you very much for helping !!!

Maybe you are looking for

  • Trouble using my sharp aquos as a display for my PB

    I have a 1 GHz Powerbook G4 with 512 MB DDR SDRAM running Mac OS X 10.3.9. I have recently purchased a 32" sharp aquos LCD Television with the intent of being able to hook up my power book. The sharp instruction manual tells me to hook it up with a D

  • Windows Phone for DX 12 development?

    I already posted on the atter on StackExchange, but got no answer, so I thought I'd repost here: I was somewhat disappointed that MWC2015 passed by and noone mentioned Windows (Phone) 10. Does anyone have relevant information?

  • Error while upgrading Oracle Portal to 10.1.4.

    While upgrading Oracle Portal to 10.1.4 , I am getting the following error. Error: Database version 9.0.1.5.1 is not supported MRUA detected an error at C:\oracleportalupgrade\mrua_051020\mrua\mrua.pl line 212. Please let me know how can I resolve th

  • TS4006 How to multiple devices to find in find my iPhone

    I have an iPad 2 and iPhone 4 in find my iPhone I only see one device.

  • Migrating from Forte 6.2 to Sunstudio 11

    Hello, We used Forte 6.2 until now and we have decided to move to Sunstudio 11 (We are in Solaris 8). Is there any compiler flags that would helps us get the migration through ? We get errors like : Not found rw/tvslist.h Not found map Not found fstr