Streaming WMT (netshow) through PIX with Cache Engine

Hello:
I am trying to stream WMT from a pre-loaded Cache engine through a PIX firewall. I would like to use UDP for the streaming, but when I start the streaming TCP is selected by default. Forcing UDP within Windows causes an error. The PIX doesn't allow the UDP traffic through since it didn't originate from the inside. Outside the firewall UDP only works if I force it. TCP is the default. First, is UDP the best way to do this or is TCP ok since it is comming from the Cache engine? Second, how can I change the Cache engine setup to default to UDP or is this not possible?
Thank you,
Hampton Saussy
Midlands Technical College

We had a similar issue. If the firewall is not configured to accept TCP ports, then the streaming video server will perform HTTP cloaking i.e Instead of using the TCP ports it will use HTTP port 80 to get through the firewall, then the server sends the streaming video data via UDP. If UDP cannot pass through the firewall, the client requests delivery via TCP. The fixup rtsp command lets PIX Firewall pass RTSP (Real Time Streaming Protocol) packets. This command does not fix RTSP UDP connections. So I guess using TCP is a better option.

Similar Messages

  • ACE with cache engine "spoof" mode

    If Cache Engine use spoof mode, how ACE be configured for support this mode. Have it any command add into ACE?

    I am looking into this myself. Can the ACE work in this fashion:
    Clients VLAN 10
    Internet VLAN 20
    Cache Servers VLAN 30
    Traffic that comes in from clients on vlan 10, any of it that is tcp port 80, send to the cache on vlan 30. Traffic coming back from the internet, vlan 20, if its tcp port 80, send to the cache on vlan 30.
    Its basic layer 4 redirection. But when the traffic goes to the cache, the cache is not going to use its own IP to make the internet request, its going to use the clients IP, this is why a map is needed on vlan 10 and vlan 20, to ensure traffic is pipelined thru the ace. Has anyone done this?

  • Streaming .mov files through shockwave with Quicktime 7

    I'm running a site (www.soundjunction.org) that streams quicktime audio and video files embedded in a shockwave player. This worked fine with QT 6.5.2 but with the upgrades to QT7.0.x, it now sticks on the 'buffering' stage forever and never loads in the movie. The same issue occurs with OSX tiger. In certain cases, loading the page with the shockwave player (embedding QT) closes the browser window without prompt. In summary, the problem occurs with
    Win XP, IE 6, Shockwave 10, QT 7 public preview
    Win XP, IE 6, Shockwave 10, QT 7.0.4 (latest)
    Mac OSX Tiger, Safari, Shockwave 10, QT 7.0.1
    Mac OSX Tiger, Safari, Shockwave 10, QT 7.0.4 (latest)
    but not with
    Mac OSX Tiger, Safari, Shockwave 10, QT 7.0.2
    Mac OSX Tiger, Safari, Shockwave 10, QT 7.0.3
    Win XP, IE 6, Shockwave 10, QT 6.5.1
    Win XP, IE 6, Shockwave 10, QT 6.5.2
    Previous communications with Macromedia revealed that they were aware of the incompatibility and were in communication with Apple, awaiting a solution. Can anyone help?
    You can see the problem in action at
    http://www.soundjunction.org/exploringmovingaway.aspa
    http://www.soundjunction.org/dennisrollinsgettingintomusic.aspa
    Many thanks!
    Win XP P4   Windows XP Pro   Also Mac OSX Tiger

    Here's Avids answer:
    Pro50 codecs only work in Macs, so the original files need to be EXPORTED from FCP with a special codec Avid created for Mac.
    So that's that issue solved ... hopefully, let's see after the next export.
    But .mov files are still screwed up on my PC.
    Kirk - I did reboot the machine in SafeMode, reinstalled QT, but nope - version 7.2. still doesn't play any .mov files properly that are stored on my C-drive that previously were just fine.
    Thanks again.

  • Cache engine IP spoofing with CSS ?

    i would like to use css and cache engine in a spoofed ip source design to preserve identity of requestor.
    WCCP appears to be able to do this but not L4+ switching with CSS.
    Does anyone know of a way of doing this either as a transparent cache or proxy cache ?
    thanks in advance

    Alan, we discussed this by email in the case you opened.
    The command 'wccp spoof-client-ip enable' does work on the CE even
    if you are not using WCCP.
    On the CSS, just make a config similar to the one for one-armed transparent SCA config.
    Tested in the lab and it works.
    Gilles.

  • Cache Engine with a private address

    Can I configure my CE590 with a private address ( for ex. 172.16.1.1 )
    Should I translate this private address to a public address ?
    The sample configuration in the below URL comment :
    !---Important: If you configure the Cache Engine
    !---with a private address, it must get!---translated to a public address. "
    http://www.cisco.com/warp/customer/117/cache_engine/transparentconfig.htm
    please advise me
    Thanks
    Mohamed Abdallah

    Should I configure a static NAT on the router for the CE ip address
    OR use the PTR record in my DNS for the CE ip add. for the DNS reverse lookup ??
    Answer: In any event, you will need a PTR record configured in your DNS network for the CE ip address. This must be a public record so that the internet sites can do a reverse lookup. Best case senario for security is to configure static nat on the router with a public ip address that resolves to the internal private ip address of the CE
    What if I give the CE a public IP address ? Do I need PTR record in my DNS for the CE ip address?
    Answer: You can certainly do that and it does make things a bit easier. For security though, I recommend going with the private ip with nat upstream.
    Regards
    Pete..

  • Advised to get an "extender" to be able to stream netflix, etc. through new digital tv.  Apple store told me to buy Airport Express and set up WDS.  Upon reading about WDS it stated cannot set up WDS with Airport Express 802.11n,

    I was advised I needed an "extender" to stream Netflix, etc. through my newly purchased digital TV.  Apple store advised me to buy Airport Express and choose WDS setting.  When reading instructions on how to set up WDS it states cannot set up WDS with an 802.11n airport express, which is what they told me to purchase.  How do I set up this Airport Express to extend my internet signal from my modem & airport to be able to stream internet capability to my TV?

    I was advised I needed an "extender" to stream Netflix, etc. through my newly purchased digital TV.  Apple store advised me to buy Airport Express and choose WDS setting.  When reading instructions on how to set up WDS it states cannot set up WDS with an 802.11n airport express, which is what they told me to purchase.  How do I set up this Airport Express to extend my internet signal from my modem & airport to be able to stream internet capability to my TV?

  • Problems with transaction-logs on cache engines

    Good Day All,
    I have a Cache Engine 550 here and the transaction log working.log file got quite large.
    I was not able to export it to my ftp server so I logged into the Cache engine via ftp and downloaded the file to a PC.
    I then deleted the working.log file on the Cache Engine and rebooted the cache engine.
    The working.log file was not re-created as I had hoped it might be.
    I have created a file called working.log in the correct directory. This file does not seem to get updated though so this must not be right either.
    Any suggestions?
    regards,
    amanda

    Hi Zach,
    Thank you so much for writing back. I am running an archaic version of the software... i can check tomorrow. As to the logging.... i had not enabled transaction-logging in itself so it was a silly config error ...
    :) amanda

  • Does the Cisco Cache Engine Work with the Cisco Local Director ?

    I need to know if it is possible and how to use cisco local director to redirect traffic to the cache engine in reverse proxy configuration and transparent proxy configuration.

    In directed mode, the client browsers are configured to point to a proxy to a virtual IP address on the Local Director. I know the Local Director does not support a real server that does not have a virtual address defined so it can't transparently forward like the CSS.

  • How to Integrate 500 Series Cache Engine with WS-C3550-48-EMI

    We are having a Catalyst 3550 L3 Switch, which is being used to provide Internet service. Now we want to integrate a 500 Series Cache Engine so that outbound http traffic is cached.
    The Cat 3550-48-EMI switch is not supporting " ip wccp web-cache redirect out" command, instead it's supporting " ip wccp web-cache redirect in" command. So for outbound traffic no caching is happening. How this can be achieved?
    Regards,
    Malay.

    in and out means catch traffic when it comes in or when it goes out respectively.
    So you can configure the 'out' on the Internet facing interface to catch the request before it goes out to the Internet.
    But you can also configure the 'in' on the client interface to catch the request when it comes into the router.
    The 'in' gives much better performance because you catch the request before doing a route loockup.
    The only disadvantage is that if you have many client vlans, you need to configure this 'in' command for each one of them.
    Regards,
    Gilles.

  • ACE as cache engine for wccp redirection

    Does anybody know if the ACE 4710 appliance supports WCCP acting as a web-cache engine? I am exausting all possible options, and then some, for deploying a new application networking environment. I just returned from ACE training last week and found myself ramping up to deploy a new ACE.
    I have pretty much exhausted my options for topology. We discussed several different designs in class and I don't like any of them. I have some serious problems with using the ACE as a default-gateway for servers. That options is out due to how other "non application" traffic is handled. Traffic such as RDP from IT support staff, patching from SMS servers, virus dat updates, vulnerability scanning... it all routes to the ACE which has to have static routes... then clients hitting the application VIPs have to be natted so the ACE does not use the static routes and reply directly... it all becomes a very big problem over time.
    Second and third options are one-armed and direct server return... both not suitable for my requirements.
    Now... that leaves me with an option we currently have deployed. That is to use a distribution route-switch (Catalyst 4500 Sup-IV) in the middle. The Cat uses PBR to return http traffic from the web servers back to the ACE. All other traffic follows normal routing table.
    Ok... that works perfect... except PBR is not supported in the Sup-6 engine. Unbelievable... I know. This is a major fly in the ointment for this new deployment.
    Now... there is another protocol that is often used for redirection... WCCP. If the ACE were a wccp web-cache, the router could be configured to redirect ingress http to the ACE. But... the ACE would have to act as a web-cache engine and register with the Cat as a home-router.
    I am sure this option is not an option... but it would be nice. The ACE 4710 appliance has the general processor to do it but it would have to be implemented in software. I'm running A3(1.0) and I cannot find anything related to wccp. Nothing in the command-reference.
    If there are any Cisco developers interested in adding some killer funtionality... this would be it. Wccp can be done in layer-2 as well as layer-3. The Sup-6 supports layer-2 redirection. Since the ACE is generally layer-2 adjacent this would be rather easy to implement. Anyway... food for thought.

    I just would like to mention that you could have ACE in bridge mode inserted between your servers and the gateway (4500).
    All traffic will go through ACE but no need for nating and no statc routes (just one default route pointing to the 4500).
    The only problems would be if you exceed the BW of the 4710 with all your traffic.
    Regarding the WCCP support for the 4710 this is not currently in our roadmap.
    Ask your cisco account team to introduce the request.
    Thanks,
    Gilles.

  • ECDN-to-ACNS or ECDN-to-Cache Engine

    How can i up/downgrade ECDN-to-ACNS or ECDN-to-Cache Engine?
    I would like to use CE507 for Cache Engine.
    So I tried to find how to do, I found some documents.
    The document sait that if i want to upgrade from ECDN to Cache Engien, I should use "ECDN-TO-ACNS-4.1.1-K9.mata" and "ECDN-TO-ACNS-4.1.1-K9.upg".
    But I counldn't fine these files in the Software download homepage.
    How can i accomplish that?

    Hi
    It looks like its attempting to run the Ruby process, If you dig deep on CCO there is a document entitled performing an ECDN upgrade on 4.x software manually, basically it takes you through the steps of mounting up the linux partitions and running the processes manually from within the linux operating system under ECDN. I found from experience it does only work with the version of ECDN specified in the document, it makes a lot of references to this process known as RUBY which from what i've seen *I think* is the actual upgrade of software and disk partitions from 2.X/3.x to version 4.x.
    Looking at the error message it looks like it may be trying to perform that upgrade process but disk 00 (first HD) is faulty so as Joerg explains it can't complete the process.
    I can think of two things I'd probably try and do, the first is take out the first disk and put the second disk into the first slot (if you have a second disk). The other option if you get the chance is to use the recovery image option and pick a 4.X .sysimg file and try the recovery procedure).
    It still may not work if you have a faulty disk because it can't repartition it, its probably not supported but the CE disks in a 507 are just standard IBM 18GB hotswap drives in Cisco rails if that ever becomes an option.
    For info I did some upgrades on 507's with only one disk, you install the 2nd disk in and boot the CE up and can then see the extra space on the CE without having to do anything special, you would still need to create the partitions though as you have 18GB of unused space added. I only mention this as its the basis for my theory on being able to swap the drives around.
    regards
    Mark

  • Error while testing Adapter through RWB with payload

    Hi all,
    While testing Adapter engine through RWB with payload, i get the below error
    Error while sending message: com.sap.aii.af.ra.ms.api.ConfigException: ConfigException in XI protocol handler. Failed to determine a receiver agreement for the given message. Root cause: com.sap.aii.af.service.cpa.impl.exception.CPALookupException: Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=ec6clnt001;TS=com_avaya_java_bs;AN=StartNotification_MI_sync;ANS=http://www.tcs.com/sap/xi/AVAYAPoC;"
    Can any body please suggest the possible reason and solution for the same.
    Regrads,
    Kulwant

    Hi
    verify the receiver agreement and  also check it out whether receiver message interface is configured properly or not?
    or
    open ID and goto tools tab in that click on
    test configuration by providing your Business service and interface details along with the payload it displays the error message.
    regards
    Suryanarayana

  • When FMLE stopped,Remote RTMP stream to FMS 4.5 with rtmfp?

    When FMLE stopped,Remote RTMP stream to FMS 4.5 with rtmfp?
    edit  "applications/multicast/main.asc" ?
    HELP ME !!! THANKS!!!
    * File: main.asc
    * The server-side portion of the multicast sample application.
    * This app accepts publish and unpublish requests from FMLE, and republishes
    * the live stream from FMLE into a target Flash Group.
    // General Constants
    // "Constants" representing multicast event types.
    var TYPE_FUSION = 1;
    var TYPE_IP = 2;
    var TYPE_P2P = 3;
    // StreamContext Description, Constants and Functions
    * Type: StreamContext
    * This application tracks the context for live streams published to the server
    * that are being republished into a Flash Group. The StreamContext "type" used
    * for this is just an Object containing the following members:
    *   client         - The encoding/publishing client.
    *   streamName     - The source Stream name as published by the client.
    *   type           - The multicast event type.
    *   groupspec      - The groupspec identifying the Flash Group and capabilities.
    *   address        - IP multicast address (optional for pure P2P events).
    *   netConnection  - A loopback NetConnection used for the mcastNetStream.
    *   mcastNetStream - The NetStream used to republish the source Stream into
    *                    the Flash Group.
    *   netGroup       - An (optional) NetGroup handle for the target Group.
    *                    Only present for Fusion or P2P events.
    *   state          - One of the state constants defined immediately below
    *                    this comment.
    var STATE_INIT            = 0; // Starting state for a StreamContext.
    var STATE_CONNECTING      = 1; // Establishing loop-back connection.
    var STATE_CONNECTED       = 2; // Connection established.
    var STATE_PUBLISH_PENDING = 3; // Attempting to publish.
    var STATE_REPUBLISHING    = 4; // Actively republishing to multicast.
    var STATE_UNPUBLISHING    = 5; // Shutting down multicast republish.
    var STATE_UNPUBLISHED     = 6; // Unpublished successfully.
    var STATE_DISCONNECTING   = 7; // Shutting down loopback connection.
    var STATE_DISCONNECTED    = 8; // Connection shut down. Done.
    * Registers a source Stream published by the specified client, along with the
    * context for the multicast event, as a StreamContext Object.
    * @param client - The Client publishing the stream.
    * @param streamName - The source Stream name.
    * @param params - The parameters resulting from parsing the source Stream's
    *                 query string.
    * @return The new StreamContext Object for the registered Stream.
    function registerStream(client, streamName, params)
        var streamContext = { "client": client,
                              "streamName": streamName,
                              "type": params["fms.multicast.type"],
                              "groupspec": params["fms.multicast.groupspec"] };
    if (params["fms.multicast.interface"])
      streamContext["interfaceAddress"] = params["fms.multicast.interface"];
        if (params["fms.multicast.address"])
            streamContext["address"] = params["fms.multicast.address"],
        streamContext.state = STATE_INIT;
        updateStreamContextLookups(streamContext);
        trace("Registered multicast context for source stream: " + streamName);
        return streamContext;
    * Updates the indexed lookups installed for the passed StreamContext Object
    * with the application.
    * @param streamContext - The StreamContext Object to (re)index.
    function updateStreamContextLookups(streamContext)
        application.streamTable[streamContext.streamName] = streamContext;
        if (streamContext.netConnection)
            application.netConnTable[streamContext.netConnection] = streamContext;
        if (streamContext.mcastNetStream)
            application.mcastNetStreamTable[streamContext.mcastNetStream] = streamContext;
        if (streamContext.netGroup)
            application.netGroupTable[streamContext.netGroup] = streamContext;
    * Provides access to the StreamContext Object for a registered source Stream
    * by name.
    * @param streamName - A registered source Stream name.
    * @return The associated StreamContext Object; undefined if the source Stream
    *         name is not registered.
    function getStreamContextForSourceStream(streamName)
        return application.streamTable[streamName];
    * Provides access to the StreamContext Object for a given server-side
    * NetConnection hosting a multicast NetStream.
    * @param netConnection - A server-side NetConnection.
    * @return The associated StreamContext Object; undefined if the passed
    *         NetConnection is not indexed to a StreamContext.
    function getStreamContextForNetConnection(netConnection)
        return application.netConnTable[netConnection];
    * Provides access to the StreamContext Object for a given multicast NetStream.
    * @param netStream - A multicast NetStream.
    * @return The associated StreamContext Object; undefined if the passed
    *         NetStream is not indexed to a StreamContext.
    function getStreamContextForMulticastNetStream(netStream)
        return application.mcastNetStreamTable[netStream];
    * Provides access to the StreamContext Object for a given NetGroup associated
    * with a multicast NetStream.
    * @param netGroup - A NetGroup.
    * @return The associated StreamContext Object; undefined if the passed
    *         NetGroup is not indexed to a StreamContext.
    function getStreamContextForNetGroup(netGroup)
        return application.netGroupTable[netGroup];
    * Unregisters the StreamContext from the application.
    * @param streamContext - The StreamContext Object to unregister.
    function unregisterStreamContext(streamContext)
        if (streamContext.netConnection)
            delete application.netConnTable[streamContext.netConnection];
        if (streamContext.mcastNetStream)
            delete application.mcastNetStreamTable[streamContext.mcastNetStream];
        if (streamContext.netGroup)
            delete application.netGroupTable[streamContext.netGroup];
        trace("Unregistered multicast context for source stream: " +
              streamContext.streamName);
    // Application callback functions
    * Initializes global StreamContext lookup tables.
    application.onAppStart = function()
        application.streamTable = {};
        application.netConnTable = {};
        application.mcastNetStreamTable = {};
        application.netGroupTable = {};
    * Handles a publish event for the application by validating the request
    * and bridging the published stream into a target Flash Group. Invalid
    * publish requests are ignored and the publishing client's connection
    * is closed.
    * @param client - The publishing client.
    * @param stream - The published stream.
    application.onPublish = function(client, stream)
        //trace("Handling publish request for source stream: " + stream.name);
        var params = parseQueryString(stream.publishQueryString);
        if (!validateStreamParams(params))
            application.disconnect(client);
            return;
        var prevContext = getStreamContextForSourceStream(stream.name);
        if (prevContext)
            forceCloseStreamContext(prevContext);
        // Register source Stream, and kick off the async process that will
        // eventually wire-up the associated multicast NetStream.
        var streamContext = registerStream(client, stream.name, params);
        openMulticastConnection(streamContext);
    * Handles an unpublish event for the application by shutting down
    * any associated multicast NetStream.
    * @param client - The unpublishing client.
    * @param stream - The source stream being unpublished.
    application.onUnpublish = function(client, stream)
        trace("Handling unpublish request for source stream: " + stream.name);
        var streamContext = getStreamContextForSourceStream(stream.name);
        if (streamContext && (streamContext.state <= STATE_REPUBLISHING))
            destroyStreamContext(streamContext);
    // Callback functions for NetConnection and multicast NetStream/NetGroup wiring.
    * First step in setting up a republished multicast NetStream; open the loopback
    * connection it requires.
    * @param streamContext - The StreamContext Object for the publish event.
    function openMulticastConnection(streamContext)
        var nc = new NetConnection();
        nc.onStatus = netConnectionStatusHandler;
        streamContext.netConnection = nc;
        updateStreamContextLookups(streamContext);
        streamContext.state = STATE_CONNECTING;
        nc.connect(resetUriProtocol(streamContext.client.uri, "rtmfp"));
    * Status event handler for the loopback NetConnection used by the multicast
    * NetStream. Advances setup upon successful connection, or triggers or advances
    * tear-down as a result of connection loss or an unpublish and clean shutdown.
    * @param info - The status info Object.
    function netConnectionStatusHandler(info)
        var streamContext = getStreamContextForNetConnection(this);
        trace("Multicast NetConnection Status: " + info.code +
              (streamContext ? ", Source stream: " + streamContext.streamName : ", Not associated with a source stream."));
        if (streamContext)
            switch (info.code)
            case "NetConnection.Connect.Success":
                streamContext.state = STATE_CONNECTED;
                // If event type is Fusion or P2p, wire up a NetGroup for neighbor
                // bootstrapping and maintenance ahead of (re)publishing the stream.
                var type = streamContext.type;
                if (type == TYPE_FUSION || type == TYPE_P2P)
                    initNetGroup(streamContext);
                else
                    initMulticastNetStream(streamContext);
                break;
            case "NetConnection.Connect.Failed":
            case "NetConnection.Connect.Rejected":
            case "NetConnection.Connect.AppShutdown":
                trace("MULTICAST PUBLISH ERROR: Failed to establish server-side NetConnection for use by multicast NetStream. " +
                      "Status code: " + info.code + ", description: " + info.description + ", Source stream: " +
                      streamContext.streamName);
                streamContext.state = STATE_DISCONNECTED;
                destroyStreamContext(streamContext);
                break;
            case "NetConnection.Connect.Closed":
                if (streamContext.state < STATE_DISCONNECTING)
                    trace("MULTICAST PUBLISH ERROR: Unexpected server-side NetConnection close. " +
                         "Status code: " + info.code + ", description: " + info.description + ", Source stream: " +
                         streamContext.streamName);
                streamContext.state = STATE_DISCONNECTED;
                destroyStreamContext(streamContext);
                break;
            default:
                // Ignore.
    * Initializes the multicast NetGroup following a successful connection of its
    * underlying loopback NetConnection. This hook is optional and only runs for
    * event types of Fusion and pure P2P.
    * @param streamContext - The StreamContext Object for the multicast publish.
    function initNetGroup(streamContext)
        var ng = null;
        try
            ng = new NetGroup(streamContext.netConnection, streamContext.groupspec);
        catch (e)
            trace("MULTICAST PUBLISH ERROR: Failed to construct NetGroup. Error: "
                  + e.name + (e.message ? " " + e.message : "") +
                  ", Source stream: " + streamContext.streamName);
            destroyStreamContext(streamContext);
            return;
        ng.onStatus = netGroupStatusHandler;
        streamContext.netGroup = ng;
        updateStreamContextLookups(streamContext);
    * Status event handler for the multicast NetGroup. Advances to initializing the
    * multicast NetStream upon successful NetGroup connect. Otherwise, triggers
    * shut down.
    * @param info - The status info Object.
    function netGroupStatusHandler(info)
        var streamContext = getStreamContextForNetGroup(this);
        trace("Multicast NetGroup Status: " + info.code +
              (streamContext ? ", Source stream: " + streamContext.streamName : ", Not associated with a source stream."))
        if (streamContext)
            switch (info.code)
            case "NetGroup.Connect.Success":
                initMulticastNetStream(streamContext);
                break;
            case "NetGroup.Connect.Failed":
            case "NetGroup.Connect.Rejected":
                trace("MULTICAST PUBLISH ERROR: Failed to connect multicast NetGroup. " +
                      "Status code: " + info.code + ", description: " + info.description +
                      ", Source stream: " + streamContext.streamName);
                destroyStreamContext(streamContext);
                break;
            case "NetGroup.MulticastStream.UnpublishNotify":
                // At this point, multicast publishers will be notified;
                // continue shut down.
                destroyStreamContext(streamContext);
                break;
            default:
                // Ignore.
    * Initializes the multicast NetStream following a successful connection of its
    * underlying loopback NetConnection.
    * @param streamContext - The StreamContext Object for the multicast publish.
    function initMulticastNetStream(streamContext)
        var ns = null;
        try
            ns = new NetStream(streamContext.netConnection, streamContext.groupspec);
        catch (e)
            trace("MULTICAST PUBLISH ERROR: Failed to construct multicast NetStream. Error: " +
                  e.name + (e.message ? " " + e.message : "") +
                  ", Source stream: " + streamContext.streamName);
            destroyStreamContext(streamContext);
            return;
        var type = streamContext.type;
        if (type == TYPE_FUSION || type == TYPE_IP)
      var iAddr = (streamContext.interfaceAddress) ? streamContext.interfaceAddress : null;
            try
                trace("Multicast NetStream will publish to IP address: " + streamContext.address +
          " on interface address: " + ((iAddr) ? iAddr : "default") +
                      ", Source stream: " + streamContext.streamName);
                ns.setIPMulticastPublishAddress(streamContext.address, iAddr);
            catch (e2)
                trace("MULTICAST PUBLISH ERROR: Failed to assign IP multicast address and port for publishing. Address: "
                      + streamContext.address + " on interface address: " + ((iAddr) ? iAddr : "default") +
          ", Source stream: " + streamContext.streamName);
                destroyStreamContext(streamContext);
                return;
        ns.onStatus = netStreamStatusHandler;
        streamContext.mcastNetStream = ns;
        updateStreamContextLookups(streamContext);
        streamContext.state = STATE_PUBLISH_PENDING;
    * Status event handler for the multicast NetStream. Advances state upon successful
    * connect and publish, or upon successful unpublish. Triggers tear-down if we fail
    * to attach to a source Stream to republish.
    * @param info - The status info Object.
    function netStreamStatusHandler(info)
        var streamContext = getStreamContextForMulticastNetStream(this);
        trace("Multicast NetStream Status: " + info.code +
              (streamContext ? ", Source stream: " + streamContext.streamName : ", Not associated with a source stream."))
        if (streamContext)
            switch (info.code)
            case "NetStream.Connect.Success":
                if (!this.attach(Stream.get(streamContext.streamName)))
                    trace("MULTICAST PUBLISH ERROR: Failed to attach multicast NetStream to source. Source stream: " +
                          streamContext.streamName);
                    destroyStreamContext(streamContext);
        //var stream;
                //stream = Stream.get("liveStream");
                    //return;
                }else{
                this.publish(streamContext.streamName, "live");
                break;
            case "NetStream.Publish.Start":
                streamContext.state = STATE_REPUBLISHING;
                break;
            case "NetStream.Unpublish.Success":
                streamContext.state = STATE_UNPUBLISHED;
                // Wait for unpublish notify event if the context has a NetGroup;
                // otherwise continue shut down now.
                if (!streamContext.netGroup)
                    destroyStreamContext(streamContext);
                    break;
            default:
                // Ignore.
    * The common tear-down hook. Other functions that manage or shut down
    * the StreamContext Object delegate to this function upon detecting a fatal
    * error or during shut down.
    * @param streamContext - The StreamContext Object for the source Stream and
    *                        (potentially wired-up) multicast NetStream.
    function destroyStreamContext(streamContext)
        // Unregister by Stream name immediately; lookups by NetConnection, NetGroup
        // and multicast NetStream remain in place until tear-down is complete.
        delete application.streamTable[streamContext.streamName];
        switch (streamContext.state)
        case STATE_REPUBLISHING:
            streamContext.mcastNetStream.attach(false);
            streamContext.mcastNetStream.publish(false);
            streamContext.state = STATE_UNPUBLISHING;
            return;
        case STATE_CONNECTING:
        case STATE_CONNECTED:
        case STATE_PUBLISH_PENDING:
        case STATE_UNPUBLISHED:
            // Delete status handler callbacks and cleanup in case we arrived here
            // as a result of a force close.
            if (streamContext.netGroup)
                delete streamContext.netGroup.onStatus;
            if (streamContext.mcastNetStream)
                streamContext.mcastNetStream.attach(false);
                delete streamContext.mcastNetStream.onStatus;
            streamContext.netConnection.close();
            streamContext.state = STATE_DISCONNECTING;
            return;
        default:
            // Fall-through.
        // At this point, we either never got to the republishing state or we've
        // proceeded through the clean shut down steps above. Everything for this
        // StreamContext can go away.
        unregisterStreamContext(streamContext);
    * Utility function used to force close a StreamContext in the event that we
    * start handling a republish of a Source stream before the context for its
    * prior incarnation has been torn down.
    * @param streamContext - The StreamContext Object for the source Stream.
    function forceCloseStreamContext(streamContext)
        trace("Force closing previous multicast context for source stream: " + stream.name);
        prevContext.state = STATE_UNPUBLISHED;
        destroyStreamContext(prevContext);
    // Client callback functions
    * A no-op. Answers the RPC in the fashion expected by encoders, but the real
    * work happens in application.onPublish.
    * @param streamName - The name of the stream being published.
    Client.prototype.FCPublish = function(streamName)
        this.call("onFCPublish",
                  null,
                  {code:"NetStream.Publish.Start", description:streamName});
    * A no-op. Answers the RPC in the fashion expected by encoders, but the real
    * work happens in application.onUnpublish.
    * @param streamName - The name of the stream being unpublished.
    Client.prototype.FCUnpublish = function(streamName)
        this.call("onFCUnpublish",
                  null,
                  {code:"NetStream.Unpublish.Success", description:streamName});
    * If the client invoker's ip matches what was captured for a currently publishing
    * stream, assume it's the same client and reset the stream. Otherwise, ignore.
    * @param streamName - The name of the stream being released.
    Client.prototype.releaseStream = function(streamName)
        var streamContext = getStreamContextForSourceStream(streamName);
        if (streamContext &&
            (streamContext.client.ip == this.ip) &&
            (streamContext.state <= STATE_REPUBLISHING))
            // Only tear-down an orphaned stream if it's not
            // already shutting down (see state check above).
            destroyStreamContext(streamContext);
    // Helper functions
    * Validates that a newly published stream has correct metadata (e.g. query
    * string parameters) to republish into a Flash Group. This function also
    * writes a message to the application log for any validation failures.
    * @param params - The quiery string parameters for the source Stream.
    * @return true if valid; otherwise false.
    function validateStreamParams(params)
        var empty = true;
        for (var param in params)
           empty = false;
           break;
        if (empty)
            trace("MULTICAST PUBLISH ERROR: Stream query string is empty.");
            return false;
        if (!params["fms.multicast.type"])
    trace("MULTICAST PUBLISH ERROR: Stream query string does not specify a 'fms.multicast.type'.");
            return false;
        var type = params["fms.multicast.type"];
        if (type != 1 && type != 2 && type != 3)
            trace("MULTICAST PUBLISH ERROR: 'fms.multicast.type' has invalid value: " + type);
            return false;
        if (!params["fms.multicast.groupspec"])
            trace("MULTICAST PUBLISH ERROR: Stream query string does not specify a 'fms.multicast.groupspec'.");
            return false;
        // Fusion and IP require an address:port.
        if ((type == 1 || type == 2) &&
            !params["fms.multicast.address"])
            trace("MULTICAST PUBLISH ERROR: Stream query string does not specify a 'fms.multicast.address'.");
            return false;
        // No obvious validation issues.
        return true;
    * Parses the supplied query string, and if valid, returns an Object populated
    * with the name-value pairs contained in the query string. The simple processing
    * here does not preserve multiple name-value pairings having the same name; the
    * last value seen wins. Parameters with no value are mapped to "" (empty String)
    * in the returned Object.
    * @param queryString - A query string portion of a URI, not including the leading
    *                     '?' character.
    * @return An Object containing a key-value mapping for each name-value parameter
    *         defined in the query string; Object is empty if the query string is
    *         invalid.
    function parseQueryString(queryString)
        var result = {};
        var decoded = "";
        try
            decoded = decodeURIComponent(queryString);
        catch (e) // Invalid URI component; return empty result.
            return result;
        if (decoded.length)
            var params = decoded.split('&');
            for (var i in params)
                var pair = params[i];
         var sepIndex = pair.indexOf('=');
                if (sepIndex != -1)
                    var name = pair.substr(0, sepIndex);
                    result[name] = pair.substr(sepIndex + 1);
                else
                    result[pair] = "";
        return result;
    * Utility function used to swap out the protocol (scheme) portion
    * of a given URI with an alternate.
    * @param uri - The full URI.
    * @param desiredProtocol - The replacement protocol.
    * @return The URI with its protocol replaced.
    function resetUriProtocol(uri, desiredProtocol)
        var sepIndex = uri.indexOf("://");
        return desiredProtocol + uri.substr(sepIndex);

    HELP ME !!! THANKS!!!

  • Question about connection between cache engine and cat6k

    Dear sir,
    Here is the problem description, please give me some help, thank you so much:
    catalyst 6509 is enable for wccp v2.CE 7320 also enable the wccp v2.Wccp service 91 is configured on 6509.Service-munber 91 and port-list 1(with port number 8080) are also configured on CE 7320.Wccp communicates well about service number 91.
    but browsing web page with port number 8080 gets always failed.
    1.6509 wccp configuration:
    ip wccp web-cache redirect-list 30
    ip wccp 91
    interface Vlan10
    ip address 211.162.224.2 255.255.255.240
    ip wccp web-cache redirect out
    ip wccp 91 redirect out
    2.ce7320 wccp configuration:
    wccp router-list 1 211.161.1.49
    wccp port-list 1 8080
    wccp web-cache router-list-num 1
    wccp service-number 91 router-list-num 1 port-list-num 1 application cache
    wccp version 2
    3.show info. from 6509 and ce 7320:
    gwbn7320#sh wccp content-engines
    Content Engine List for Service: Web Cache
    IP address = 211.161.1.50
    Routers seeing this Content Engine(1)
    211.162.224.2
    Content Engine List for Service: WCCPv2 Service 91
    IP address = 211.161.1.50
    Routers seeing this Content Engine(1)
    211.162.224.2
    gwbn7320#sh statistics http savings
    Statistics - Savings
    Requests Bytes
    Total: 90685 460066803
    Hits: 936 162710
    Miss: 89749 459904093
    Savings: 1.0 % 0.0 %
    6509-left#sh ip wccp
    Global WCCP information:
    Router information:
    Router Identifier: 211.162.224.2
    Protocol Version: 2.0
    Service Identifier: web-cache
    Number of Cache Engines: 1
    Number of routers: 1
    Total Packets Redirected: 2525
    Redirect access-list: 30
    Total Packets Denied Redirect: 0
    Total Packets Unassigned: 146
    Group access-list: -none-
    Total Messages Denied to Group: 0
    Total Authentication failures: 0
    Service Identifier: 91
    Number of Cache Engines: 1
    Number of routers: 1
    Total Packets Redirected: 0
    Redirect access-list: -none-
    Total Packets Denied Redirect: 0
    Total Packets Unassigned: 0
    Group access-list: -none-
    Total Messages Denied to Group: 0
    Total Authentication failures: 0
    Regards,
    Sha

    Gilles,
    Thank you!
    Here is the result:
    6509-left#sh ip wccp 91 detail
    WCCP Cache-Engine information:
    IP Address: 211.161.1.50
    Protocol Version: 2.0
    State: Usable
    Redirection: GRE
    Initial Hash Info: 00000000000000000000000000000000
    00000000000000000000000000000000
    Assigned Hash Info: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    Hash Allotment: 256 (100.00%)
    Packets Redirected: 180
    Connect Time: 00:07:06
    Regards,
    Sha

  • Is there any method to remember the running subtitle and audio stream when navigating through menus?

    I have a language Menu named 'Setup' with 4 buttons 1.English  2.Spanish  3.Spanglish  4.Subtitle Off.
    To reach this page you have to hit Setup button on Main Menu. The setup button takes to a sub-menu of Setup where I have a symbol of 'tick' at Subtitle Off indicating the state of the current subtitle stream. I have 3 more sub-menus with similar buttons but with 'tick' at different languages indicating the state of the current running/selected language, 2nd page has English with tick, 3rd page has Spanish with tick and 4th has Spanglish with tick. My client wants me to jump on the respective language ticked page when you hit the setup button on Main Menu. As far as I understand we cannot assign a code in Encore to a single button to read what subtitle stream is running.
    Is there any method to remember the running stream when navigating through menus?
    I have done this in Sonic Scenarist.
    Regards,
    A Gandhi

    I think this was added in a "newer" version of Encore (meaning anywhere from CS4 up). In any event, it is available in Encore CS6.
    There is a menu (not button) property that allows yoi9u to make the active subtitle track button the default (i.e. selected/highlight shows) just as you want.

Maybe you are looking for

  • Best monitor for MacBook Pro (Late 2012)

    After searching Apple's knowledge base (reference: Using 4K displays and Ultra HD TVs with Mac computers - Apple Support), it appears that MacBook Pro (Late 2012 model) does not support 4K monitors, correct? If this is the case, what's the best monit

  • Another big hugly bug

    Moving objects in the layers panel is really anoying. If you tell a layer to go beneath another layer it goes on top. if you pick and drag a layer every grouped object layer opens and everytime you stop moving a layer in the layers panel it resets an

  • Work Center (No. of indiv. cap)

    Hi, I have Assembly Work center for details are as follows, Start                         06:30:00 Finish                       23:30:00          Capacity utilization 100 Length of breaks     01:00:00           No. of indiv. cap.   2 Operating time  

  • Facing problem in query template editor

    Hi All, After creating connection to MySQLserver in my machine through DATA Servers after that i tried to access that server(through name of server ex:mysqlconnect) in query template editor by following the procedure then i am not getting the modes l

  • Time duration of events

    Hello, I am accessing an Oracle 10.2.0.1.0 Database I have the following tables CREATE TABLE BT_MAPPING ( "TAG_ID" NUMBER(6,0) NOT NULL ENABLE, "TAG_NAME" VARCHAR2(30 BYTE) NOT NULL ENABLE, "TAG_DESCRIP" VARCHAR2(100 BYTE), "TAG_SRC1" VARCHAR2(30 BYT