<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

	<head>
		<meta name="copyright" content="Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved." />
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
		<meta http-equiv="Content-Style-Type" content="text/css" />

		<title>Capella - In-Flight Entertainment System - FunctionalExchange VOD Service Activation Command</title>
		<link rel="stylesheet" href="../../scripts/jquery-treeview/jquery.treeview.css" />
  		<script src="../../scripts/jquery-treeview/lib/jquery-1.11.1.js" type="text/javascript"></script>
  		<script src="../../scripts/jquery-treeview/jquery.treeview.js" type="text/javascript"></script>
		<link rel="stylesheet" type="text/css" href="../../css/simpletree.css" />		
		<link title="default" rel="stylesheet" type="text/css" media="screen, projection" href="../../css/content.css"></link>
		<script type="text/javascript">
			if(parent.location.href == self.location.href) {
				window.location.href = 'index.html?46ffbaa1f9744536bae13d0de536ec18';
			}
		</script>
		
		<style>
			body {
				background: white;
				font-family: Arial;
			}
			.treeview {
				background-color: white ;
			}
	
			.treeview ul{ /*CSS for Simple Tree Menu*/
				background-color: white;
				font-size: 12px;
			}
	
			.treeview li{ /*Style for LI elements in general (excludes an LI that contains sub lists)*/
				background-color: white;
			}
		</style>
		
	</head>
	
	<body><div id="content">
<img src="../icon/FunctionalExchange.png" alt="FunctionalExchange" style="float:left; margin-right:10px" /><h1><a href="../In-Flight Entertainment System/46ffbaa1f9744536bae13d0de536ec18.html">VOD Service Activation Command</a></h1>
<p style="margin-top:3px; margin-bottom:3px"><span class="elementMetaClass">FunctionalExchange</span></p>
<em class="elementPath"><a href="../In-Flight Entertainment System/bd182435e29042ceb99f6dd06e7ae7c7.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/8f49452e61f24ba0b944352d1f4c4227.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/9a0668cfdb264ee79339c1d8658fa112.html">Physical Architecture</a> > <a href="../In-Flight Entertainment System/75b9cc1b926940d98528a77115b3a81d.html">Physical Functions</a> > <a href="../In-Flight Entertainment System/0f09b41e1e384d34abb0ba31a0eedd58.html">Root Physical Function</a> > <a href="../In-Flight Entertainment System/c75359fb227144998199c3e1565697a7.html">IFE System</a> > <a href="../In-Flight Entertainment System/cf7dca25225043399501eaf3557a644c.html">Manage Passenger Services Lifecycle</a> > <a href="../In-Flight Entertainment System/46ffbaa1f9744536bae13d0de536ec18.html">VOD Service Activation Command</a></em>

<p>
No description.
</p>












<h2> Source </h2>
<ul id="sourcePortTreeView" class="treeview"><li><img src="../icon/FunctionOutputPort.gif" alt="FunctionOutputPort" /> <a href="../In-Flight Entertainment System/9c17c4e4c33b4726a7055b26f7541e10.html">FOP1</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/9d76fefa2f8942728b1d785d05601ce6.html">Capture Passenger Service Selection</a></li></ul></li></ul>
<h2> Target </h2>
<ul id="targetPortTreeView" class="treeview"><li><img src="../icon/FunctionInputPort.gif" alt="FunctionInputPort" /> <a href="../In-Flight Entertainment System/0209385f196341bd94f60fab86a65a91.html">FIP1</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/8cc1e6f5dbe246298a43b60eef771a8f.html">Start&#047;Resume Service</a></li></ul></li></ul>





<h2>Realized Elements</h2>

<ul class="generatedList"><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/cbc21308951f4d40b2e850d8816a1d5d.html">VOD Service Activation Command</a></li></ul>









<h2>Diagrams displaying "VOD Service Activation Command"</h2>
<ul>
<li>
<a href="../In-Flight Entertainment System/cf7dca25225043399501eaf3557a644c.html#_THK9ALI7EeSu9-F8hTsjMA">&#091;PDFB&#093; &#091;CTX&#093; Manage Passenger Services Lifecycle</a> 
</li>
</ul>





 </div>	<script type="text/javascript">
		$("#sourcePortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
		$("#targetPortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
	</script>
   </body>
</html>