mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	In multi-party bridges, Asterisk currently supports two video modes:
 * Follow the talker, in which the speaker with the most energy is shown
   to all participants but the speaker, and the speaker sees the
   previous video source
 * Explicitly set video sources, in which all participants see a locked
   video source
Prior to this patch, ARI had no ability to manipulate the video source.
This isn't important for two-party bridges, in which Asterisk merely
relays the video between the participants. However, in a multi-party
bridge, it can be advantageous to allow an external application to
manipulate the video source.
This patch provides two new routes to accomplish this:
(1) setVideoSource: POST /bridges/{bridgeId}/videoSource/{channelId}
    Sets a video source to an explicit channel
(2) clearVideoSource: DELETE /bridges/{bridgeId}/videoSource
    Removes any explicit video source, and sets the video mode to talk
    detection
ASTERISK-26595 #close
Change-Id: I98e455d5bffc08ea5e8d6b84ccaf063c714e6621
		
	
		
			
				
	
	
		
			170 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <xsl:stylesheet version="1.0"
 | |
|  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 | |
|     <xsl:output omit-xml-declaration="yes" indent="yes"/>
 | |
| 
 | |
|     <xsl:param name="pNewType" select="'myNewType'"/>
 | |
| 
 | |
|     <xsl:template match="node()|@*">
 | |
|         <xsl:copy>
 | |
|             <xsl:for-each select="node()|@*">
 | |
|                 <xsl:sort select="@tech"/>
 | |
|                 <xsl:apply-templates select="."/>
 | |
|             </xsl:for-each>
 | |
|         </xsl:copy>
 | |
|     </xsl:template>
 | |
| 
 | |
|     <xsl:template match="configOptionToEnum">
 | |
|         <xsl:for-each select="configOption">
 | |
|             <xsl:element name="enum">
 | |
|                 <xsl:attribute name="name">
 | |
|                     <xsl:value-of select="@name"/>
 | |
|                 </xsl:attribute>
 | |
|                 <xsl:element name="para">
 | |
|                     <xsl:value-of select="synopsis"/>
 | |
|                 </xsl:element>
 | |
|             </xsl:element>
 | |
|         </xsl:for-each>
 | |
|     </xsl:template>
 | |
| 
 | |
|     <xsl:template match="channel_snapshot">
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'Channel')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'ChannelState')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>A numeric code for the channel's current state, related to <xsl:value-of select="concat(@prefix,'ChannelStateDesc')"/></para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'ChannelStateDesc')"/>
 | |
|             </xsl:attribute>
 | |
|             <enumlist>
 | |
|                 <enum name="Down"/>
 | |
|                 <enum name="Rsrvd"/>
 | |
|                 <enum name="OffHook"/>
 | |
|                 <enum name="Dialing"/>
 | |
|                 <enum name="Ring"/>
 | |
|                 <enum name="Ringing"/>
 | |
|                 <enum name="Up"/>
 | |
|                 <enum name="Busy"/>
 | |
|                 <enum name="Dialing Offhook"/>
 | |
|                 <enum name="Pre-ring"/>
 | |
|                 <enum name="Unknown"/>
 | |
|             </enumlist>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'CallerIDNum')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'CallerIDName')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'ConnectedLineNum')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'ConnectedLineName')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'AccountCode')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'Context')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'Exten')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'Priority')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'Uniqueid')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'Linkedid')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>Uniqueid of the oldest channel associated with this channel.</para>
 | |
|         </xsl:element>
 | |
|     </xsl:template>
 | |
| 
 | |
|     <xsl:template match="bridge_snapshot">
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'BridgeUniqueid')"/>
 | |
|             </xsl:attribute>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'BridgeType')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>The type of bridge</para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'BridgeTechnology')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>Technology in use by the bridge</para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix, 'BridgeCreator')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>Entity that created the bridge if applicable</para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix, 'BridgeName')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>Name used to refer to the bridge by its BridgeCreator if applicable</para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix,'BridgeNumChannels')"/>
 | |
|             </xsl:attribute>
 | |
|             <para>Number of channels in the bridge</para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix, 'BridgeVideoSourceMode')" />
 | |
|             </xsl:attribute>
 | |
|             <enumlist>
 | |
|                 <enum name="none"/>
 | |
|                 <enum name="talker"/>
 | |
|                 <enum name="single"/>
 | |
|             </enumlist>
 | |
|             <para>The video source mode for the bridge.</para>
 | |
|         </xsl:element>
 | |
|         <xsl:element name="parameter">
 | |
|             <xsl:attribute name="required">
 | |
|                 false
 | |
|             </xsl:attribute>
 | |
|             <xsl:attribute name="name">
 | |
|                 <xsl:value-of select="concat(@prefix, 'BridgeVideoSource')" />
 | |
|             </xsl:attribute>
 | |
|             <para>If there is a video source for the bridge, the unique ID of the channel that is the video source.</para>
 | |
|         </xsl:element>
 | |
|     </xsl:template>
 | |
| </xsl:stylesheet>
 |