Cannot create the RTP Session: Can't open local data port

Hi,
I'm trying to connect to two webcams simultaneously in the order:
MediaLocator inputLocator1 = new MediaLocator("rtp://hostname1:8000/video");
MediaLocator inputLocator2 = new MediaLocator("rtp://hostname2:8000/video");
But I get this during the second connection:
Cannot create the RTP Session: Can't open local data port: 8000
And I can't see the video from hostname2.
I did a check via netstat, and it seems that both mycomputer is receiving the video from both hostname1 & hostname2:
TCP mycomputer:3236 hostname1:8000 ESTABLISHED
TCP mycomputer:3264 hostname2:8000 ESTABLISHED
TCP connections to both host were established!! But why can't I see the video of hostname2???? I've thought of 2 possible reasons why I cannot see the video of hostname2:
1. Is this set of local data port maintained by Java? i.e It's not the same as the TCP port 8000 that I see in mycomputer's netstat. If yes, Java has assigned its local data port 8000 to hostname1, so it fails to reassign that port 8000 to hostname2 while hostname1 is still connected. Any other way to fix this apart from changing the portnumber of hostname2?
2. It has to do with the custom.jar? I've read in an article somewhere in the forum that the custom.jar has to be customized (using JFMCustomizer) to receive video from two hosts with the same portnumber. Can someone elaborate the necessary boxes to check in the JFMCustomizer?
Thanks much,
Rach

After all this while, I finally figured out the problem. In my code, I use MediaLocator to code the receiver and the transmitter. E.g.:
MediaLocator inputLocator1 = new MediaLocator("rtp://hostname1:8000/video");
player1 = Manager.createPlayer(inputLocator1)
MediaLocator inputLocator2 = new MediaLocator("rtp://hostname2:8000/video");
player2 = Manager.createPlayer(inputLocator2)
Manager would complain "Cannot create the RTP Session: Can't open local data port: 8000" because port 8000 is already used up by player1, i.e.:
mycomputer:8000 maps to hostname1:8000
mycomputer:8000 cannot re-map to hostname2:8000
To work around this, I'll need to use SessionAddress. SessionAddress provides the flexibility to do an independent local port mapping, e.g.:
mycomputer:5000 maps to hostname1:8000
mycomputer:5002 maps to hostname2:8000
Rach

Similar Messages

  • Cannot create the RTP Session

    we have made multithread rtp streaming server and tried to transmit the mpg file in a applet on a web page using tom-cat server.
    we got the following error...
    Cannot create the RTP Session: Local Data AddressDoes not belong to any of this hosts local interfaces
    Failed to initialize the sessions.
    java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkExit(Unknown Source)
         at java.lang.Runtime.exit(Unknown Source)
         at java.lang.System.exit(Unknown Source)
         at Receive.start(MyPlayer.java:90)
         at MyPlayer.start(MyPlayer.java:30)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

    I am really surprised that no one has answer for my query?????

  • Error : Can't open local data port

    Hello:
    I�d like present this problem to yours:
    I am executing two files Client/Server into my own PC, using two DOS console different, this one to Client an another to Server.
    I got this error:
    Output of the CLient (DOS Console of the client)
    C:\RUN\EX14>java AVReceive2 1.1.9.147/45300
    - Open RTP session for: addr: 1.1.9.147 port: 45300 ttl: 1
    - Waiting for RTP data to arrive...
    - Waiting for RTP data to arrive...
    - A new participant had just joined: mpalacios@mpv
    - Waiting for RTP data to arrive...
    - Waiting for RTP data to arrive...
    Output of the Server (DOS Console of the Server)
    C:\RUN\EX14>java AVTransmit2 file:/c:/run/format/au/drip.au 1.1.9.147 45300
    Track 0 is set to transmit as:
    ULAW/rtp, 8000.0 Hz, 8-bit, Mono, FrameSize=8 bits
    Error : Can't open local data port: 45300
    Well, 1.1.9.147 is the IP address of my PC.
    So, What�s the problem?
    If you need of the rest of code, please say me.
    Thanks.
    Angel.

    Well, I am agree with you, but I have this code in the Transmit File (Server):
    * Use the RTPManager API to create sessions for each media track of the processor.
    private String createTransmitter() {
         // Cheated. Should have checked the type.
         PushBufferDataSource pbds = (PushBufferDataSource)dataOutput;
         PushBufferStream pbss[] = pbds.getStreams();
         rtpMgrs = new RTPManager[pbss.length];
         SessionAddress localAddr, destAddr;
         InetAddress ipAddr;
         SendStream sendStream;
         int port;
         SourceDescription srcDesList[];
         for (int i = 0; i < pbss.length; i++) {
         try {
              rtpMgrs[i] = RTPManager.newInstance();     
    //The local session address will be created on the
    // same port as the the target port. This is necessary
    // if you use AVTransmit2 in conjunction with JMStudio.
    // JMStudio assumes - in a unicast session - that the
    // transmitter transmits from the same port it is receiving
    // on and sends RTCP Receiver Reports back to this port of
    // the transmitting host.
              port = portBase + 2*i;
              ipAddr = InetAddress.getByName(ipAddress);
              localAddr = new SessionAddress( InetAddress.getLocalHost(),
                                       port);
              destAddr = new SessionAddress( ipAddr,
                                  port);
              rtpMgrs.initialize( localAddr);
              rtpMgrs[i].addTarget( destAddr);
              System.err.println( "Created RTP session: " + ipAddress + " " + port);
              sendStream = rtpMgrs[i].createSendStream(dataOutput, i);          
              sendStream.start();
         } catch (Exception e) {
              return e.getMessage();
         return null;
    When I use this Files (Client/Server), between diffrent PCs into LAN, eg, Client (One PC) and Server (Another PC), but I used:
    This One PC: (IP Address PC = 1.1.9.150)
    C:\run\ex14\java AVTransmit2 file:/c:/run/format/audrip.au 1.1.9.147 45300
    Another PC:(IP Address PC = 1.1.9.147)
    C:\run\ex14\java AVReceive2 1.1.9.147/45300
    That�s work right!
    So, what�s happen?

  • Help me ! "can not open local data port"

    I have successfully ended the previous transmit,but wen I began a new transmit,it failed. It printed "can't open local data port ",why?
    Is it telling that the port is still in use???
    And how can I solve this problem?
    Anyone help me?
    Thanks very much,
    yyc

    Hi,
    this problem occurs when You try to open the same port twice time, You can solve it by opening other port.

  • RTP Cannot open local data port

    Hello,
    I'm about to learn JMF. So I tried the example code from the sun JMF documentation(example10-1; code is appended).
    The code compiles without errors but when I run it, I alway get the following error:
    streams is [Lcom.sun.media.multiplexer.RawBufferMux$RawBufferSourceStream;@b9b538 : 1
    sink: setOutputLocator rtp://192.168.0.6:49150/audio/1
    java.io.IOException: Can't open local data port: 4800
            at com.sun.media.datasink.rtp.Handler.open(Handler.java:139)
            at Send.<init>(Send.java:60)
            at Send.main(Send.java:71)
    What does that mean and what causes that kind of exception?
    Thanks in advance.
    MfG
    Michael
    ****Code starts here****
    class Send {
       public Send() {
          AudioFormat format = new AudioFormat(AudioFormat.LINEAR, 8000, 16, 1);
          Vector devices = CaptureDeviceManager.getDeviceList(null);
          System.out.println("DEBUG: CaptureDeviceManager returned "  + devices.size() + " devices");
          CaptureDeviceInfo di = null;
          Processor p = null;
          if(devices.size() > 0)
          di = (CaptureDeviceInfo) devices.elementAt(0);
          else
          System.exit(-1);
          System.out.println("Found: " + di.toString());
          try {
          p = Manager.createProcessor(di.getLocator());
          } catch(Exception e) {
         e.printStackTrace();
         System.exit(-1);
    p.configure();
    TrackControl tracks[] = p.getTrackControls();
    p.setContentDescriptor(new ContentDescriptor(ContentDescriptor.RAW));
    boolean encodingOk=false;
    for(int i=0; i < tracks.length; i++) {
         if(!encodingOk && tracks[i] instanceof FormatControl) {
         if( ( (FormatControl)tracks[i] ).setFormat(new AudioFormat(AudioFormat.GSM_RTP, 8000, 16, 1))==null )
         tracks.setEnabled(false);
         encodingOk = true;
         else
         tracks[i].setEnabled(false);
    } //for
    if(encodingOk) {
         p.realize();
         DataSource source = null;
         try { Thread.sleep(1000); } catch(InterruptedException e){}
         try {
         source = p.getDataOutput();
         } catch(NotRealizedError e) {
         System.out.println("*** ERROR: Cannot realize");
         //System.exit(-1);
         try {
         String url = "rtp://192.168.0.6:49150/audio/1";
         System.out.println(url);
         MediaLocator m = new MediaLocator(url);
         DataSink sink = Manager.createDataSink(source, m);
         sink.open();
         sink.start();
         } catch(Exception e) {
         System.out.println("*** ERROR: ");
         e.printStackTrace();
         System.exit(-1);
    } // if
    public static void main(String[] args) {
    new Send();

    Hello,
    I tried to change the port number to 22222, 66666 and 49150. With the same effekt. I found out that when I run the program for the first time after a reboot I get these errors:
    javax.media.NotConfiguredError: getTrackControls cannot be called before configured
    at com.sun.media.ProcessEngine.getTrackControls(ProcessEngine.java:285)
    at com.sun.media.MediaProcessor.getTrackControls(MediaProcessor.java:107)
    at Send.<init>(Send.java:29)
    at Send.main(Send.java:71)
    Exception in thread "main" javax.media.NotConfiguredError: getTrackControls cannot be called before configured
    at com.sun.media.ProcessEngine.getTrackControls(ProcessEngine.java:285)
    at com.sun.media.MediaProcessor.getTrackControls(MediaProcessor.java:107)
    at Send.<init>(Send.java:29)
    at Send.main(Send.java:71)
    I have to quit the program with Ctrl-c. The next time I run it I get the IOException as described above :( .
    MfG
    Michael

  • I just installed Lightroom CC. When I try to open it, I get an error message: "An internal error has occurred.  Cannot create the required folder: ..."

    I just installed Lightroom CC. When I try to open it, I get an error message: "An internal error has occurred.  Cannot create the required folder: ..."

    Cannot create the required folder

  • I am trying to update my itunes and iphone. Everytime I trie comes out a message about 'key access'. I've done all the steps from the support and nothing worked out. I cannot unistall and now I can't open it anymore also. What should i do, please?

    I am trying to update my itunes and iphone. Everytime I trie comes out a message about 'key access'. I've done all the steps from the support and nothing worked out. I cannot unistall and now I can't open it anymore also. What should i do, please?

    Isn't that only used when a PC will not boot?
    What options does booting with this give me?
    Thanks
    JK MCP
    Hi,
    USB recovery disk was used to recover your system when it encounter problem. You can try to use it to fix your problem instead reinstall system. However, there is no method to keep your program whenreinstall system.
    Roger Lu
    TechNet Community Support

  • Cannot open aperture v3 after upgrading to  OS 10.6.8.  Bought the upgrade online so cannot reload the software.  Can you help?

    Cannot open aperture v3 after upgrading to  OS 10.6.8.  Bought the upgrade online so cannot reload the software.  Can you help?

    How did you buy it online? Did you buy a registration number from the Apple Store?
    Then you can download the Trial version from this link:
        Aperture 3.1 Trial 
    and run Software Update immediately after installing.
    Go to the Applications folder and delete Aperture.
    Download the Aperture 3.1 Trial.
    Open the Aperture Trial disc image.
    Double-click the "Aperture Trial.mpkg" file.
    Follow the onscreen instructions to install Aperture.
    After the installation completes, choose Software Update from the Apple () menu.
    Cannot open aperture v3 after upgrading to  OS 10.6.8. 
    But what exactly is the error you get, when you try to launch Aperture? Maybe you need to do more than updating.
    Regards
    Léonie

  • 1st Meet-the-expert session is now open for registration

    Hello,
    SAP's CAF PM team will start a session series (so called 'Meet-the-expert' sessions) to bring closer the CAF topic to the SDN community. The first session is now arranged and open for registration (<a href="https://sap.webex.com/sap/j.php?ED=87816077&RG=1">Registration</a>). The session will take place on Friday (Oct 27th), 10 a.m. EMEA(German) time. In approx. 1h, we'd like to give a short introduction into CAF, show a simple Composite (that will be the base example where the coming sessions will explain special topics), have an overview look on the modelling aspects of such a simple Composite and at the end of this hour, there is an open Q&A discussion planned.
    Please navigate to this blog <a href="/people/jan.rauscher/blog/2006/10/25/first-caf-meet-the-expert-session-registration-now-open">1st CAF Meet-the-expert session</a> to get more information and to register for this session.
    The attendance is free!
    Some more information about the background and the further planning regarding this session series, you can find here: <a href="/people/jan.rauscher/blog/2006/10/18/new-composite-application-framework-meet-the-expert-sessions">Meet-the-expert session blog</a>.
    <b>Meet the experts and join the 1st Composite Application Framework Meet-the-expert sessions on Friday, Oct 27th, 10 a.m. (European time). I'm looking forward to meet you!</b>
    Regards,
      Jan

    I recently purchased an HP Touchpad.  I cannot export my windows mail address book to the touchpad.  Can you help, I contacted HP and they said since the mail system was verizon I had to get the process from you.  So far I have not gotten help from anyone, please help.  Thanks.

  • SP2-0110:CANNOT CREATE THE SAVE "[b]afiedt.buf[/b]"

    When i open the editor it throws error msg as
    SQL>ed
    SP2-0110:CANNOT CREATE THE SAVE "afiedt.buf"
    HOW CAN I SLOVE THIS PROBLEM... PLEASE HELP ME

    PLEASE HELP ME Please SP2-0110:CANNOT CREATE THE SAVE "[b]afiedt.buf[/b]"

  • Getting error ERROR Cannot create the secure store - installing nw2004s EP

    <b>log :</b>
    create -s EPP -f
    sap-z1vbhsvvsv3/sapmnt/EPP/SYS/global/security/data/SecStore.properties -k
    sap-z1vbhsvvsv3/sapmnt/EPP/SYS/global/security/data/SecStore.key -enc -p XXXXXX" finished with return code 1. Output: SAP Secure Store in the File System - Copyright (c) 2003 SAP AG
    ERROR 2007-05-30 19:47:37
    CJS-30050  Cannot create the secure store; see output of log file SecureStoreCreate.log: SAP Secure Store in the File System - Copyright (c) 2003 SAP AG
    ERROR 2007-05-30 19:47:37
    FCO-00011  The step createSecureStore with step key |NW_Onehost|ind|ind|ind|ind|0|0|NW_Java_OneHost|ind|ind|ind|ind|1|0|NW_SecureStore|ind|ind|ind|ind|11|0|createSecureStore was executed with status ERROR .
    <b>
    SecureStoreCreate.log</b>
    SAP Secure Store in the File System - Copyright (c) 2003 SAP AG
    com.sap.security.core.server.secstorefs.FileIOException: I/O error on file "
    sap-z1vbhsvvsv3/sapmnt/EPP/SYS/global/security/data/SecStore.key".
         at com.sap.security.core.server.secstorefs.KeyHandler.writeKeyIntoFile(KeyHandler.java:618)
         at com.sap.security.core.server.secstorefs.KeyHandler.setNewKeyInFile(KeyHandler.java:666)
         at com.sap.security.core.server.secstorefs.Crypt.setNewKeyInFile(Crypt.java:502)
         at com.sap.security.core.server.secstorefs.SecStoreFS.createStoreWithEncryption(SecStoreFS.java:1739)
         at com.sap.security.core.server.secstorefs.SecStoreFS.handleCreate(SecStoreFS.java:842)
         at com.sap.security.core.server.secstorefs.SecStoreFS.main(SecStoreFS.java:1274)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.offline.OfflineToolStart.main(OfflineToolStart.java:81)
    Caused by: java.io.FileNotFoundException:
    sap-z1vbhsvvsv3\sapmnt\EPP\SYS\global\security\data\SecStore.key (The network location cannot be reached. For information about network troubleshooting, see Windows Help)
         at java.io.FileOutputStream.open(Native Method)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
         at com.sap.security.core.server.secstorefs.KeyHandler.writeKeyIntoFile(KeyHandler.java:611)
         ... 10 more
    please help if anyone has got this error before...
    Thanks
    SS

    Hi,
    I have given full control to usr folder and all the subfolder for my user.Also logical name sapmnt has been given full control and shared as well.But when i try to access sapmnt folder it says access is denied.
    Moreover can you provide steps to change the server name.
    Thanks,
    SS

  • I have installed Adobe Lightroom CC.  In the process of launching, a popup appears, that says:  "AN INTERNAL ERROR HAS OCCURRED.  Cannot create the required folder:  /Users/(my user name)/Library/Application Support/Adobe/Lightroom/Develop Presets."  So e

    I have installed Adobe Lightroom CC.  In the process of launching, a popup appears, that says:  "AN INTERNAL ERROR HAS OCCURRED.  Cannot create the required folder:  /Users/(my user name)/Library/Application Support/Adobe/Lightroom/Develop Presets."  So even though Lightroom CC is installed, it will not launch.  What do I need to do to allow it to launch?

    The problem was solved today.  Here's the full story.  I'm a Mac user.  At first I installed Lightroom CC on my iMac (desktop).  I had this problem so I called Adobe, and was referred to a "special unit" .  After about an hour the tech solved it for me ... we did a screen sharing and she took control of my computer for a loooong time.  Because of language difficulties, at first I wondered if she knew what she was doing but she eventually solved it.  Although she couldn't explain exactly what she was doing, she summarized it by saying "it was a permissions problem."  I asked if I would have the same issue later when I installed it on my laptop (Macbook Air).  She said probably not.
    But I did.  The same internal error popup arose on launch and launch did not complete on my laptop.  I tried chat but no joy so I eventually called Apple Care.  I had noticed that on my laptop (and the iMac for that matter), that there was no Library folder after my user name.  The Apple tech explained that the Library folder is actually there but it is hidden because it's very easy for users to do some very nasty things to their computer by going astray while in the Library folder.  The folder is actually there, but they hide it.  I did remember seeing that the tech helping me with my iMac had typed the work "Library" while she was controlling my computer.  Basically she had activated the hidden Library folder so she could open the path that Lightroom was trying to follow to create that "Develop Presets" folder.  For some reason, the inability to create that folder in the launch process was preventing launch from being completed.  The Apple tech said she didn't actually have to do that and activated the Library folder by use of the Go selection on the menu bar.  Anyway, once that complete path was replicated and opened, the next step was to go to the Lightroom Permissions field and add my user name to the user categories already there and enable "read and write" permissions to my user name.  Once done, I shut down my laptop, and then rebooted.  I launched Lightroom and then boom, voila, heavens to betsy, etc. it launched and suddenly a dismal weekend turned into a great one. 
    I am not a geek, so I hope this makes some sense.  I also hope Lightroom launches again tomorrow and beyond! 

  • I have an iMac 10.8.2.  When trying to download a photo attachment from an email I received the following : "You can't open application IPhoto because the classic environment is no longer supported."  This occurred on 10/25/12 at about 11PM CST.  The iPho

    I have an iMac 10.8.2.  When trying to download a photo attachment from an email I received the following : "You can't open application IPhoto because the classic environment is no longer supported."  This occurred on 10/25/12 at about 11PM CST.  The iPhoto icon in both the dock and the application folder is grayed out with the no or do not enter symbol.  How can I resolve this so I can access my photos?

    I have two iPhoto icons in applications. One is grayed out and has the no symbol, the date of last modification is Oct 25, 2012 11:07pm.  The size is 110 KB and kind shows Applic…lassie). When I click on with CMD i it shows:
    kind: Application (Classic)
    size: 109,677 bytes (111 KB on disk)
    Where: / Applications
    Created:  Thursday, October 25, 2012 11:07 PM
    Modified: Thursday, October 25, 2012 11:07 PM
    Version:  --
    More info:  --
    Name and extension:  iPhoto.app
    Hide extension is grayed out and checked
    Preview shows a photo I had attempted to save to iPhoto
    The second iPhoto icon is also grayed out, but the symbol is an envelope, the date of last modification is Oct 12, 2012 12:09PM.  The size is 548 KB and kind is shown as an email message.  When I clicked on it with CMD i it shows:
    Kind: Email Message
    Size: 547,665 bytes (549 KB on disk)
    Where:  /Applications
    Created: Friday, October 12, 2012 12:09 PM
    Modified:  Friday, October 12, 2012 12:09 PM
    Version: not listed
    Name & Extension:  iPhoto.eml
    Hide Extension: checked
    Open with:  Mail
    Preview shows a photo I had attempted to save to iPhoto

  • Why i cannot create the sql azure database from my own country 'Nepal' ?. why it is not include in the list of country when we sign up for azure database. :( !!!

    why i cannot create the sql azure database from my own country 'Nepal' ?. why it is not include in the list of country when we sign up for azure database. :(  !!!
    canot we try this new feature ,dosnot we need to try this too..why such discermination for our country nepal. :(

    Hi Anil,
    I am Mahesh from Microsoft Innovation Center. From August 2014 we have made Azure Available to Nepal. You can now directly sign in to azure with your Nepal Based Mobile Number as Verification.
    Thanks for showing your Interest in our Product.
    Mahesh Dahal

  • Error message:FRM-12001: Cannot Create the record group(check your query)

    Requirement: Need to get employee name and number in the LOV in search criteria.
    So I created LOV "full_name" and Record group Query under Employee Name property palette with
    select papf.title||' '||papf.last_name||', '||papf.first_name||' '||papf.middle_names emp_full_name
    ,papf.employee_number
    from apps.per_all_people_f papf, apps.per_person_types ppt
    where sysdate between papf.effective_start_date and papf.effective_end_date AND papf.person_type_id=ppt.person_type_id AND ppt.system_person_type IN ('EMP', 'OTHER', 'CWK','EMP_APL')
    AND PPT.default_flag='Y' and papf.BUSINESS_GROUP_ID=1
    order by papf.full_name
    I was unable to save and getting error message "FRM-12001: Cannot Create the record group(check your query)".
    I cant use PER_ALL_PEOPLE_F.FULL_NAME since full name here is last_name||title||middle_names||firstname.
    But my requiremnet is papf.title||' '||papf.last_name||', '||papf.first_name||' '||papf.middle_names emp_full_name .
    Can any one of you help me.

    First, Magoo wrote:
    <pre><font face = "Lucida Console, Courier New, Courier, Fixed" size = "1" color = "navy">create or replace function emp_full_name ( p_title in varchar2,
    p_last_name in varchar2,
    p_first_name in varchar2,
    p_mid_names in varchar2 ) return varchar2 is
    begin
    for l_rec in ( select decode ( p_title, null, null, p_title || ' ' ) ||
    p_last_name || ', ' || p_first_name ||
    decode ( p_mid_names, null, null, ' ' || p_mid_names ) full_name
    from dual ) loop
    return ( l_rec.full_name );
    end loop;
    end;</font></pre>
    Magoo, you don't ever need to use Select from Dual. And the loop is completely unnecessary, since Dual always returns only one record. This would be much simpler:
    <pre><font face = "Lucida Console, Courier New, Courier, Fixed" size = "1" color = "navy">create or replace function emp_full_name
    ( p_title in varchar2,
    p_last_name in varchar2,
    p_first_name in varchar2,
    p_mid_names in varchar2 ) return varchar2 is
    begin
    Return ( Ltrim( Rtrim ( p_title
    ||' ' ||p_last_name
    ||', '||p_first_name
    ||' ' ||p_middle_names )));
    end;</font></pre>
    And second:
    user606106, you did not mention how you got your record group working. However, you DO have an issue with spaces. If you change this:
    <pre><font face = "Lucida Console, Courier New, Courier, Fixed" size = "1" color = "navy">select papf.title||' '||papf.last_name||', '||papf.first_name||' '||papf.middle_names emp_full_name
    ,papf.employee_number </font></pre>
    to this:
    <pre><font face = "Lucida Console, Courier New, Courier, Fixed" size = "1" color = "navy">select Ltrim(Rtrim(papf.title||' '||papf.last_name||', '
    ||papf.first_name||' '||papf.middle_names)) AS emp_full_name,
    papf.employee_number</font></pre>
    it should work. The Ltrim(Rtrim()) removes leading and trailing spaces from the resulting full name.

Maybe you are looking for