to the IMS. Step 2: The TV (video client) also sends a SIP REGISTER message to the IMS Core to register itself to the IMS. Design and Implementation of an IMS-Based Testbed Step 3: The Android phone sends a SIP INVITE message to the IMS Core. This SIP INVITE message contains the request for a particular IPTV Channel, say Channel 1, to be shown on the TV (video client). It could be noted that IPTV Channel 1 is residing on VideoServer2 which is connected to the Managed Optical Network. The TV (video client) is also connected to the optical network. Step 4: The IMS Core, upon receiving the SIP INVITE message in Step 3, will send the SIP INVITE message to the TV (video client). Step 5: Upon receiving the SIP INVITE message in Step 4, the TV (video client) will invoke the IPTV service (Channel 1) and send a SIP INVITE message to the Application Servers (AS) via the IMS Core to request for IPTV service. Step 6: The IMS Core will forward the SIP INVITE message from the TV (video client) to the AS. Note that the SIP INVITE message contains the IPTV Channel 1 request. Step 7: The Composite Service at the AS receives the SIP INVITE from Step 6 and will relay it to Indirection and Network Services in turn. The Composite Service provides application routing function, that is, to invoke the right services in sequence according to various dynamic conditions such as user preference and privilege. Step 8: The Composite Service routes the INVITE message to the Indirection Service where the access information related to the requested channel, for example, server address, codec, and SO on, is looked up in a database and added to the message. Step 9: The Indirection Service passes on the INVITE message. The Composite Service, playing the role of application router, intercepts the message and determines from the composition logic that the next service to be invoked is the Network Service. The Composite Service will then relay the message to the Network Service. Steps 10 and 11: The Network Service will interact with the Optical Netwo