<!-- ##### SECTION Title ##### -->
svc-channel-media

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT TpSvcChannelTypeStreamedMedia ##### -->
<para>

</para>


<!-- ##### SIGNAL TpSvcChannelTypeStreamedMedia::stream-added ##### -->
<para>

</para>

@tpsvcchanneltypestreamedmedia: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 

<!-- ##### SIGNAL TpSvcChannelTypeStreamedMedia::stream-direction-changed ##### -->
<para>

</para>

@tpsvcchanneltypestreamedmedia: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 

<!-- ##### SIGNAL TpSvcChannelTypeStreamedMedia::stream-error ##### -->
<para>

</para>

@tpsvcchanneltypestreamedmedia: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 

<!-- ##### SIGNAL TpSvcChannelTypeStreamedMedia::stream-removed ##### -->
<para>

</para>

@tpsvcchanneltypestreamedmedia: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL TpSvcChannelTypeStreamedMedia::stream-state-changed ##### -->
<para>

</para>

@tpsvcchanneltypestreamedmedia: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### STRUCT TpSvcChannelTypeStreamedMediaClass ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION tp_svc_channel_type_streamed_media_list_streams_impl ##### -->
<para>

</para>

@self: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_implement_list_streams ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_return_from_list_streams ##### -->
<para>

</para>

@context: 
@out_Streams: 


<!-- ##### USER_FUNCTION tp_svc_channel_type_streamed_media_remove_streams_impl ##### -->
<para>

</para>

@self: 
@in_Streams: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_implement_remove_streams ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_return_from_remove_streams ##### -->
<para>

</para>

@context: 


<!-- ##### USER_FUNCTION tp_svc_channel_type_streamed_media_request_stream_direction_impl ##### -->
<para>

</para>

@self: 
@in_Stream_ID: 
@in_Stream_Direction: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_implement_request_stream_direction ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_return_from_request_stream_direction ##### -->
<para>

</para>

@context: 


<!-- ##### USER_FUNCTION tp_svc_channel_type_streamed_media_request_streams_impl ##### -->
<para>

</para>

@self: 
@in_Contact_Handle: 
@in_Types: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_implement_request_streams ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_return_from_request_streams ##### -->
<para>

</para>

@context: 
@out_Streams: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_emit_stream_added ##### -->
<para>

</para>

@instance: 
@arg_Stream_ID: 
@arg_Contact_Handle: 
@arg_Stream_Type: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_emit_stream_direction_changed ##### -->
<para>

</para>

@instance: 
@arg_Stream_ID: 
@arg_Stream_Direction: 
@arg_Pending_Flags: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_emit_stream_error ##### -->
<para>

</para>

@instance: 
@arg_Stream_ID: 
@arg_Error_Code: 
@arg_Message: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_emit_stream_removed ##### -->
<para>

</para>

@instance: 
@arg_Stream_ID: 


<!-- ##### FUNCTION tp_svc_channel_type_streamed_media_emit_stream_state_changed ##### -->
<para>

</para>

@instance: 
@arg_Stream_ID: 
@arg_Stream_State: 


<!-- ##### STRUCT TpSvcChannelInterfaceCallState ##### -->
<para>

</para>


<!-- ##### SIGNAL TpSvcChannelInterfaceCallState::call-state-changed ##### -->
<para>

</para>

@tpsvcchannelinterfacecallstate: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### STRUCT TpSvcChannelInterfaceCallStateClass ##### -->
<para>

</para>


<!-- ##### FUNCTION tp_svc_channel_interface_call_state_emit_call_state_changed ##### -->
<para>

</para>

@instance: 
@arg_Contact: 
@arg_State: 


<!-- ##### USER_FUNCTION tp_svc_channel_interface_call_state_get_call_states_impl ##### -->
<para>

</para>

@self: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_interface_call_state_implement_get_call_states ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_interface_call_state_return_from_get_call_states ##### -->
<para>

</para>

@context: 
@out_States: 


<!-- ##### STRUCT TpSvcChannelInterfaceDTMF ##### -->
<para>

</para>


<!-- ##### STRUCT TpSvcChannelInterfaceDTMFClass ##### -->
<para>

</para>


<!-- ##### FUNCTION tp_svc_channel_interface_dtmf_implement_start_tone ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_interface_dtmf_implement_stop_tone ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_interface_dtmf_return_from_start_tone ##### -->
<para>

</para>

@context: 


<!-- ##### FUNCTION tp_svc_channel_interface_dtmf_return_from_stop_tone ##### -->
<para>

</para>

@context: 


<!-- ##### USER_FUNCTION tp_svc_channel_interface_dtmf_start_tone_impl ##### -->
<para>

</para>

@self: 
@in_Stream_ID: 
@in_Event: 
@context: 


<!-- ##### USER_FUNCTION tp_svc_channel_interface_dtmf_stop_tone_impl ##### -->
<para>

</para>

@self: 
@in_Stream_ID: 
@context: 


<!-- ##### STRUCT TpSvcChannelInterfaceHold ##### -->
<para>

</para>


<!-- ##### SIGNAL TpSvcChannelInterfaceHold::hold-state-changed ##### -->
<para>

</para>

@tpsvcchannelinterfacehold: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### STRUCT TpSvcChannelInterfaceHoldClass ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION tp_svc_channel_interface_hold_get_hold_state_impl ##### -->
<para>

</para>

@self: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_interface_hold_return_from_get_hold_state ##### -->
<para>

</para>

@context: 
@out_HoldState: 
@out_Reason: 


<!-- ##### FUNCTION tp_svc_channel_interface_hold_implement_get_hold_state ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### USER_FUNCTION tp_svc_channel_interface_hold_request_hold_impl ##### -->
<para>

</para>

@self: 
@in_Hold: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_interface_hold_return_from_request_hold ##### -->
<para>

</para>

@context: 


<!-- ##### FUNCTION tp_svc_channel_interface_hold_implement_request_hold ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_interface_hold_emit_hold_state_changed ##### -->
<para>

</para>

@instance: 
@arg_HoldState: 
@arg_Reason: 


<!-- ##### STRUCT TpSvcChannelInterfaceMediaSignalling ##### -->
<para>

</para>


<!-- ##### SIGNAL TpSvcChannelInterfaceMediaSignalling::new-session-handler ##### -->
<para>

</para>

@tpsvcchannelinterfacemediasignalling: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### STRUCT TpSvcChannelInterfaceMediaSignallingClass ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION tp_svc_channel_interface_media_signalling_get_session_handlers_impl ##### -->
<para>

</para>

@self: 
@context: 


<!-- ##### FUNCTION tp_svc_channel_interface_media_signalling_implement_get_session_handlers ##### -->
<para>

</para>

@klass: 
@impl: 


<!-- ##### FUNCTION tp_svc_channel_interface_media_signalling_return_from_get_session_handlers ##### -->
<para>

</para>

@context: 
@out_Session_Handlers: 


<!-- ##### FUNCTION tp_svc_channel_interface_media_signalling_emit_new_session_handler ##### -->
<para>

</para>

@instance: 
@arg_Session_Handler: 
@arg_Session_Type: 


