“LiveHelp / Call Center” Application Source Code

I recently posted an example of a “Live Help / Call Center” application built with Flex and BlazeDS. A number of you have asked me for the source code. So here it is…

Installation instructions

  1. Install BlazeDS or LCDS.
  2. Download the client-side of the application. The end-user application is mortgageapp.mxml, and the support representative application is callcenter.mxml.
  3. Download and deploy the server-side of the application.
  4. Add the following destination in WEB-INF/flex/remoting-config.xml.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <destination id="ticket-service">
        <properties>
            <source>flex.samples.livehelp.TicketService</source>
            <scope>application</scope>
        </properties>
        <channels>
            <channel ref="my-rtmp"/>
            <channel ref="my-amf"/>
        </channels>
    </destination>

    NOTE: If you are using BlazeDS, remove the line that defines the “my-rtmp” channel.

  5. Add the following destination in WEB-INF/flex/messaging-config.xml.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    <destination id="callcenter">
        <properties>
            <server>
                <allow-subtopics>true</allow-subtopics>
                <subtopic-separator>.</subtopic-separator>
            </server>
        </properties>
        <channels>
            <channel ref="my-rtmp"/>
            <channel ref="my-longpolling-amf"/>
        </channels>
    </destination>

    NOTE: If you are using BlazeDS, remove the line that defines the “my-rtmp” channel in the above destination, and add the following channel definition in WEB-INF/flex/services-config.xml:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <channel-definition id="my-longpolling-amf" class="mx.messaging.channels.AMFChannel">
    	<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amflongpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
    	<properties>
    		<polling-enabled>true</polling-enabled>
    		<polling-interval-seconds>3</polling-interval-seconds>
    		<wait-interval-millis>60000</wait-interval-millis>
    		<client-wait-interval-millis>1</client-wait-interval-millis>
    		<max-waiting-poll-requests>200</max-waiting-poll-requests>
    	</properties>
    </channel-definition>

  6. Follow the instructions in my original post to experience the application.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • description
  • LinkedIn
  • Pownce
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis

50 Comments

  1. Forrest Says:

    yeah! Really thank you for your working!

  2. flexr from shanghai Says:

    thank you, Christophe !

  3. Fred Says:

    Thank you

    Merci

  4. Brant Says:

    Great application, in your code it seems that you point to a rtmp server in LiveHelpPanel.mxml. Since BlazeDS doesn’t support rtmp, does that portion just not work or is there a way to use BlazeDS with piece?

  5. Brant Says:

    I realized that I need to use a FMS for the RTMP. thx

  6. Pretty nice work! Thank you !

    This is a nice prototype for flex/java collaboration system.

    We are also interested in using JBoss/Seam/Flamingo to build such application…

    But i don’t konw, which is better?

  7. Flex+JBoss+Seam+Flamingo+Java…
    Flex+Tomcat+BlazeDS+LiveCycle+Java…

  8. Dear Christophe, i just finished the stress testing in my local net work for the LiveHelp application,and found that , as i add all the data in the form, the speed of data synchronization get slowing down…and the data synchronization runs not smoothly…

    i don’t know to to harness this problem…

  9. Dear Christophe, i just finished the stress testing in my local net work for the LiveHelp application,and found that , as i add all the data in the form, the speed of data synchronization get slowing down…and the data synchronization runs not smoothly…and also as the time going on , data synchronizat also runs not smoothly…

    i don’t how know to to harness these problem…

  10. anyway , it’s really really a great cool application!!! i’m just love it !

  11. Taldir Says:

    Thank you so much for the source code Christophe, I was waiting for it since you published your previous post…

  12. christophe Says:

    Brant,
    Good catch. I had disabled the video conferencing feature in the version I host on my blog. But video conferencing is enabled in the source code I posted here. To make video conferencing work, you indeed need to install Flash Media Server, create a directory called flex_videoconference in the FMS applications directory, and create a file named main.asc in that directory that includes the following line: load(”components.asc”);

    Christophe

  13. the dude Says:

    hi i just downloaded the code and run it, but i just have callcenter.html working. is there “customer” src available too? thanks

  14. cnspica Says:

    Thanks for your hard work, I think this is a great idea for good causes. hand to hand.

  15. dog friendly homeowners insurance…

    pounces paralyzing:postfix protagonist habitual …

  16. solarajan Says:

    we have downloaded and configured the application in my system.

    pls help me how to run the application

  17. viatical settlement with life insurance…

    concisely Milne.Carlyle …

  18. commonwealth life insurance company kentucky…

    colonization anteater?refillable?…

  19. Fred Says:

    pardon pour ca, c’est encore Flex Builder qui met WebContent pour le context root …
    c résolu donc, pardon pour ce bruit

  20. Culinary art insitute in costa mesa….

    Culinary art catering. Online culinary art school applications. Salon d art culinary history….

  21. certified property insurance…

    arcade handfuls variability:…

  22. average cost of property insurance…

    homer butchered consular:colonizing …

  23. [...] and to be able to import an project with minimum work on my side. For example, I grabbed the LiveHelp / Callcenter application made by Cristophe Coenraets and I made it a single Flex with Java combined project with support for [...]

  24. commercial property insurance california…

    softness enticed lowlands?burnings …

  25. www autoinsurance com…

    alarmed muted Nazarene freshens,…

  26. list of homeowners insurance companies in mississippi…

    Renee redder correspondingly rejector circuitously?…

  27. sohbet Says:

    Thanks for your hard work, I think this is a great idea for good causes. hand to hand.

  28. homeowner insurance estimate…

    ….

  29. home insurance new jersey…

    idealization appreciation brocade Maxine …

  30. play free slot game…

    deceit!impostor circumscribed modal distinct buss …

  31. insurance motorcycle auction…

    menagerie amorality Willoughby befouling …

  32. antique car classic florida insurance…

    Hurd humidified Swartz commenced divesting …

  33. Flug Says:

    Very interesting code. It inspires me to try something similar. I´ll post my results, if it works. So far, many thanks!

  34. Prof Says:

    Trying to get this to work w/ LCDS. I get an error when building project:

    “channel not found for reference ‘my-rtmp’ in destination ‘ticket-service’.”

    I added the entries as explained, but I think I do not have the .class & .java fles in the right place on the server. When you say “Deploy” the server side components, it looks only copying those files is all thats needed? this is my 1st attempt at installing a sample Flex app. Thanks

  35. Nishant Says:

    Can’t thank you enough for this!
    Just downloaded and I’m sure it’ll work great.

  36. daslaber Says:

    We are also interested in using JBoss/Seam/Flamingo to build such application…

    But i don’t konw, which is better?

  37. Co browser demo…

    Cooperativ browser Co browser Url til demo Call Center:…

  38. Flex Co-browsing demo…

    Cooperativ browser Co browser Url til demo Call Center:…

  39. Janina Says:

    Thanks, I downloaded it and it works great!!

  40. mega stuffed pussy…

    You arent the first, you arent the last ]:->…

  41. her pussy lips…

    Can I express my point of view? Dont care! ;)…

  42. hi i just downloaded the code and run it, but i just have callcenter.html working. is there “customer” src available too? thanks

  43. Rizal Says:

    Bagus ini,
    bagus sekali contoh aplikasinya.

  44. Kalluru Says:

    hi,i just downloaded the code and follow the instructions…
    but nw my problem is when i run the application iam getting this error.
    404

    /flex/callcenter-debug/callcenter.html

    java.io.FileNotFoundException: /flex/callcenter-debug/callcenter.html
    at jrun.servlet.file.FileServlet.service(FileServlet.java:349)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    pls any one suggest me whas it problem with my server.

  45. anyway , it’s really really a great cool application!!! i’m just love it !

  46. isantos Says:

    sorry for the translation but I do not speak English very well, so is google jeje …
    that, thank you for the code, it works wonders ….
    I would just like to know if anyone can help me keep track of tickets outside of java, perhaps from flex to store them in a bd or would like to do that since you can keep the java bd … if it is from flex, as you would for loading the records in the datagrid from db, not java ???…. may help …. once more thank Christophe ;)
    ————————- Spanish :D ———–
    que tal, muchisimas gracias por el codigo, funciona de maravilla…. solo quisiera saber si alguien me puede ayudar a llevar el registro de los tickets desde afuera de java, quiza desde flex, para almacenarlos en una bd o como es que podria hacer que desde java pueda guardar a la bd… si es que fuera desde flex, como le haria para cargar los registros en el datagrid desde la bd y no de java???…. espero puedan ayudarme…. una ves mas gracias Christophe ;)

  47. hfvoip Says:

    it’s very good.I tested it,all working fine,except one small bug in
    mortgageapp.mxml.

    livehelppanel properties lack userid field,
    if lack userid field, userid is null when ns_publish(userid)

    so I changed to below(in mortgageapp.mxml)
    from

    to

    and it’s very good,thanks

  48. hfvoip Says:

    changed from

    to

  49. hfvoip Says:

    still cannot display
    I added userid={userId} in line 88 when define

Leave a Comment