You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1737 lines
57 KiB
1737 lines
57 KiB
1 year ago
|
/************************************************************************
|
||
|
|
||
|
Copyright (c) 2005-2011 by Juphoon System Software, Inc.
|
||
|
All rights reserved.
|
||
|
|
||
|
This software is confidential and proprietary to Juphoon System,
|
||
|
Inc. No part of this software may be reproduced, stored, transmitted,
|
||
|
disclosed or used in any form or by any means other than as expressly
|
||
|
provided by the written license agreement between Juphoon and its
|
||
|
licensee.
|
||
|
|
||
|
THIS SOFTWARE IS PROVIDED BY JUPHOON "AS IS" AND ANY EXPRESS OR
|
||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
|
ARE DISCLAIMED. IN NO EVENT SHALL JUPHOON BE LIABLE FOR ANY DIRECT,
|
||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
|
POSSIBILITY OF SUCH DAMAGE.
|
||
|
|
||
|
Juphoon System Software, Inc.
|
||
|
Email: support@juphoon.com
|
||
|
Web: http://www.juphoon.com
|
||
|
|
||
|
************************************************************************/
|
||
|
/*************************************************
|
||
|
File name : mtc_call.h
|
||
|
Module : multimedia talk client
|
||
|
Author : leo.lv
|
||
|
Created on : 2011-01-03
|
||
|
Description :
|
||
|
Data structure and function declare required by MTC call
|
||
|
|
||
|
Modify History:
|
||
|
1. Date: Author: Modification:
|
||
|
*************************************************/
|
||
|
#ifndef _MTC_CALL_H__
|
||
|
#define _MTC_CALL_H__
|
||
|
|
||
|
#include "mtc_def.h"
|
||
|
#include "mtc_call_cfg.h"
|
||
|
#include "mtc_call_db.h"
|
||
|
#include "mtc_ring.h"
|
||
|
#include "mtc_sts.h"
|
||
|
|
||
|
/**
|
||
|
* @file mtc_call.h
|
||
|
* @brief MTC Call Interface Functions
|
||
|
*
|
||
|
* This file includes call interface function. Those function is used to manage calls.
|
||
|
*/
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/** @brief MTC call dtmf type */
|
||
|
typedef enum EN_MTC_CALL_DTMF_TYPE
|
||
|
{
|
||
|
EN_MTC_CALL_DTMF_0, /**< @brief DTMF signal 0. */
|
||
|
EN_MTC_CALL_DTMF_1, /**< @brief DTMF signal 1. */
|
||
|
EN_MTC_CALL_DTMF_2, /**< @brief DTMF signal 2. */
|
||
|
EN_MTC_CALL_DTMF_3, /**< @brief DTMF signal 3. */
|
||
|
EN_MTC_CALL_DTMF_4, /**< @brief DTMF signal 4. */
|
||
|
EN_MTC_CALL_DTMF_5, /**< @brief DTMF signal 5. */
|
||
|
EN_MTC_CALL_DTMF_6, /**< @brief DTMF signal 6. */
|
||
|
EN_MTC_CALL_DTMF_7, /**< @brief DTMF signal 7. */
|
||
|
EN_MTC_CALL_DTMF_8, /**< @brief DTMF signal 8. */
|
||
|
EN_MTC_CALL_DTMF_9, /**< @brief DTMF signal 9. */
|
||
|
EN_MTC_CALL_DTMF_STAR, /**< @brief DTMF signal *. */
|
||
|
EN_MTC_CALL_DTMF_POUND, /**< @brief DTMF signal #. */
|
||
|
EN_MTC_CALL_DTMF_A, /**< @brief DTMF signal A. */
|
||
|
EN_MTC_CALL_DTMF_B, /**< @brief DTMF signal B. */
|
||
|
EN_MTC_CALL_DTMF_C, /**< @brief DTMF signal C. */
|
||
|
EN_MTC_CALL_DTMF_D, /**< @brief DTMF signal D. */
|
||
|
} EN_MTC_CALL_DTMF_TYPE;
|
||
|
|
||
|
/** @brief MTC call record mode type */
|
||
|
typedef enum EN_MTC_CALL_REC_MODE_TYPE
|
||
|
{
|
||
|
EN_MTC_CALL_REC_MODE_ALL, /**< @brief Record all data. */
|
||
|
EN_MTC_CALL_REC_MODE_PLAY, /**< @brief Record palying data. */
|
||
|
EN_MTC_CALL_REC_MODE_MIC /**< @brief Record microphone data. */
|
||
|
} EN_MTC_CALL_REC_MODE_TYPE;
|
||
|
|
||
|
/** @brief MTC call terminate reason type */
|
||
|
typedef enum EN_MTC_CALL_TERM_STATUS_CODE
|
||
|
{
|
||
|
EN_MTC_CALL_TERM_STATUS_NORMAL = 1000, /**< @brief Normal session term, bye or cancel. */
|
||
|
EN_MTC_CALL_TERM_STATUS_BUSY, /**< @brief The session is rejected. */
|
||
|
EN_MTC_CALL_TERM_STATUS_DECLINE, /**< @brief Decline the session. */
|
||
|
|
||
|
EN_MTC_CALL_TERM_STATUS_TIMEOUT = 1100, /**< @brief Terminated by timeout. */
|
||
|
EN_MTC_CALL_TERM_STATUS_USER_OFFLINE, /**< @brief Call participant is offline. */
|
||
|
EN_MTC_CALL_TERM_STATUS_NOT_FOUND, /**< @brief Call participant not found. */
|
||
|
EN_MTC_CALL_TERM_STATUS_NOT_FRIEND, /**< @brief Call participant is not friend. */
|
||
|
EN_MTC_CALL_TERM_STATUS_IN_BLACK_LST, /**< @brief Call participant is in black list. */
|
||
|
EN_MTC_CALL_TERM_STATUS_TRANSFERED, /**< @brief Terminated by transfered. */
|
||
|
EN_MTC_CALL_TERM_STATUS_REDIRECTED,/**< @brief Terminated by redirect. */
|
||
|
EN_MTC_CALL_TERM_STATUS_REPLACED, /**< @brief Terminated by replace. */
|
||
|
EN_MTC_CALL_TERM_STATUS_JOIN_CONF, /**< @brief Terminated by invite to meeting replaced. */
|
||
|
EN_MTC_CALL_TERM_STATUS_CALL_EACH, /**< @brief Terminated by call each other. */
|
||
|
EN_MTC_CALL_TERM_STATUS_SERVER_RELEASE, /**< @brief Server released. */
|
||
|
EN_MTC_CALL_TERM_STATUS_RELEASED, /**< @brief Call has released. */
|
||
|
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_OTHER = 1200, /**< @brief Other error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_AUTH_FAILED, /**< @brief Authentication failed, invalid user or password. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_SESSION_TIMER, /**< @brief Call refresh error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_FORBIDDEN, /**< @brief Call forbidden. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_NOT_ACCEPTED, /**< @brief Call not accepted. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_TEMP_UNAVAIL, /**< @brief Call participant temp unavailable. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_REQUEST_TERMED, /**< @brief Call request terminated. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_INTERNAL, /**< @brief Server internal error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_SERVICE_UNAVAIL, /**< @brief Service unavailable. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_NOT_EXIST, /**< @brief Not exist. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_TRANSACTION_FAIL, /**< @brief Call transaction error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_SERVER, /**< @brief Server error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_PEER_FAILED, /**< @brief Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_NO_EPCP_PARM, /**< @brief No EP or CP parameter. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_GONE, /**< @brief Call has gone. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_SESSION_TOO_LONG, /**< @brief Session last too long. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_REFER, /**< @brief Refer error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_UPDATE, /**< @brief Update error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_ACCEPT, /**< @brief Accept error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_INVITE, /**< @brief Invite error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CREATE, /**< @brief Create error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_READ_SDP, /**< @brief Read SDP failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_WAIT_ACCEPT, /**< @brief Wait Accept error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_SESSION_GONE, /**< @brief Session has gone. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CONNECT_FAIL, /**< @brief Media session connect failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_APPLY_MEDIA, /**< @brief Media session apply failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_UPDATE_PEER_FAILED, /**< @brief update Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_ACCEPT_PEER_FAILED, /**< @brief accept Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_INVITE_PEER_FAILED, /**< @brief invite Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CREATE_PEER_FAILED, /**< @brief create Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_WAIT_ACCEPT_PEER_FAILED, /**< @brief waitaccept Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_SESSION_GONE_PEER_FAILED, /**< @brief sessiongone Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CONNECT_FAIL_PEER_FAILED, /**< @brief connect Peer failed. */
|
||
|
EN_MTC_CALL_TERM_STATUS_TIMEOUT_PEER_FAILED, /**< @brief alert timeout Peer failed. */
|
||
|
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_ACCOUNT_SERVER = 1300, /**< @brief Account server error. */
|
||
|
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER = 1400, /**< @brief Call server error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_NO_RESOURCE, /**< @brief Call server resource runs out. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_INTERNAL, /**< @brief Call server internal error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_ON_INVITED, /**< @brief Call server oninvited error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_ON_WAITING_ACCEPTION, /**< @brief Call server onwaitingacception error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_ON_ACCEPTED, /**< @brief Call server onaccepted error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_UNKNOWN, /**< @brief Call server unknown error. */
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_CALL_SERVER_INACTIVE_CALL_CLEAN, /**< @brief Call server Inactive Call Clean. */
|
||
|
|
||
|
EN_MTC_CALL_TERM_STATUS_ERROR_EP_SERVER = 1500, /**< @brief Endpoint server error. */
|
||
|
} EN_MTC_CALL_TERM_STATUS_CODE;
|
||
|
|
||
|
/** @brief MTC call alert type */
|
||
|
typedef enum EN_MTC_CALL_ALERT_TYPE
|
||
|
{
|
||
|
EN_MTC_CALL_ALERT_UNDEFINED = 2000, /**< @brief Alerted by other type. */
|
||
|
EN_MTC_CALL_ALERT_RING, /**< @brief Alerted by 180. */
|
||
|
EN_MTC_CALL_ALERT_QUEUED, /**< @brief Alerted by 182. */
|
||
|
EN_MTC_CALL_ALERT_IN_PROGRESS, /**< @brief Alerted by 183. */
|
||
|
} EN_MTC_CALL_ALERT_TYPE;
|
||
|
|
||
|
/** @brief Type of MTC network status. */
|
||
|
typedef enum EN_MTC_NET_STATUS_TYPE
|
||
|
{
|
||
|
EN_MTC_NET_STATUS_DISCONNECTED = -3, /**< @brief Disconnected from network. */
|
||
|
EN_MTC_NET_STATUS_VERY_BAD = -2, /**< @brief Network status is very bad. */
|
||
|
EN_MTC_NET_STATUS_BAD = -1, /**< @brief Network status is bad. */
|
||
|
EN_MTC_NET_STATUS_NORMAL = 0, /**< @brief Network status is normal. */
|
||
|
EN_MTC_NET_STATUS_GOOD = 1, /**< @brief Network status is good. */
|
||
|
EN_MTC_NET_STATUS_VERY_GOOD = 2, /**< @brief Network status is very good. */
|
||
|
} EN_MTC_NET_STATUS_TYPE;
|
||
|
|
||
|
/** @brief Type of MTC session state */
|
||
|
typedef enum EN_MTC_CALL_STATE_TYPE
|
||
|
{
|
||
|
EN_MTC_CALL_STATE_IDLE, /**<@brief Session state is idle. */
|
||
|
EN_MTC_CALL_STATE_OUTGOING, /**<@brief Session state is outgoing. */
|
||
|
EN_MTC_CALL_STATE_INCOMING, /**<@brief Session state is incoming. */
|
||
|
EN_MTC_CALL_STATE_ALERTED, /**<@brief Session state is alerted. */
|
||
|
EN_MTC_CALL_STATE_CONNECTING,/**<@brief Session state is connecting. */
|
||
|
EN_MTC_CALL_STATE_TALKING, /**<@brief Session state is talking. */
|
||
|
EN_MTC_CALL_STATE_TERMED, /**<@brief Session state is terminated. */
|
||
|
EN_MTC_CALL_STATE_DIDTERM, /**<@brief Session state is did terminate. */
|
||
|
} EN_MTC_CALL_STATE_TYPE;
|
||
|
|
||
|
/** @brief MTC call transmission state type */
|
||
|
typedef enum EN_MTC_CALL_TRANSMISSION_STATE
|
||
|
{
|
||
|
/** @brief Transmission is normal, 'nrml'. */
|
||
|
EN_MTC_CALL_TRANSMISSION_NORMAL = 0x6E726D6C,
|
||
|
/** @brief Transmission is paused for camera is off, 'coff'. */
|
||
|
EN_MTC_CALL_TRANSMISSION_CAMOFF = 0x636F6666,
|
||
|
/** @brief Transmission is paused, 'pasd'. */
|
||
|
EN_MTC_CALL_TRANSMISSION_PAUSE = 0x70617364,
|
||
|
/** @brief Transmission is pause for QoS reason, 'pqos'. */
|
||
|
EN_MTC_CALL_TRANSMISSION_PAUSE4QOS = 0x70716F73,
|
||
|
} EN_MTC_CALL_TRANSMISSION_STATE;
|
||
|
|
||
|
/**
|
||
|
* @defgroup MtcCallStatus MTC call status option.
|
||
|
* @{
|
||
|
*/
|
||
|
/** @brief Real time send bit rate for audio and video. */
|
||
|
#define MTC_CALL_STATUS_SEND_BITRATE 0x01
|
||
|
/** @brief Real time receive bit rate for audio and video. */
|
||
|
#define MTC_CALL_STATUS_RECV_BITRATE 0x02
|
||
|
/** @brief Real time send frame rate for video. */
|
||
|
#define MTC_CALL_STATUS_SEND_FRAMERATE 0x04
|
||
|
/** @brief Real time receive frame rate for video. */
|
||
|
#define MTC_CALL_STATUS_RECV_FRAMERATE 0x08
|
||
|
/** @brief Real time send resulotion video. */
|
||
|
#define MTC_CALL_STATUS_SEND_RESOLUTION 0x10
|
||
|
/** @brief Real time receive resulotion video. */
|
||
|
#define MTC_CALL_STATUS_RECV_RESOLUTION 0x20
|
||
|
/** @} */
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
EXPORT_FLAG {
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @defgroup MtcCallStatusKey Key of call status option.
|
||
|
* @{
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the send bit rate.
|
||
|
*/
|
||
|
#define MtcSendBitRateKey "MtcSendBitRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the receive bit rate.
|
||
|
*/
|
||
|
#define MtcRecvBitRateKey "MtcRecvBitRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the send frame rate.
|
||
|
*/
|
||
|
#define MtcSendFrameRateKey "MtcSendFrameRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the receive frame rate.
|
||
|
*/
|
||
|
#define MtcRecvFrameRateKey "MtcRecvFrameRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the send resulotion.
|
||
|
*/
|
||
|
#define MtcSendResolutionKey "MtcSendResolutionKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the receive resulotion.
|
||
|
*/
|
||
|
#define MtcRecvResolutionKey "MtcRecvResolutionKey"
|
||
|
/** @} */
|
||
|
|
||
|
/**
|
||
|
* @defgroup MtcCallKey MTC notification key of session event.
|
||
|
* @{
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the ID of voice/audio
|
||
|
* call.
|
||
|
*/
|
||
|
#define MtcCallIdKey "MtcCallIdKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the SIP content.
|
||
|
*/
|
||
|
#define MtcCallBodyKey "MtcCallBodyKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video image width
|
||
|
* in pixels.
|
||
|
*/
|
||
|
#define MtcCallWidthKey "MtcCallWidthKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video image
|
||
|
* height in pixels.
|
||
|
*/
|
||
|
#define MtcCallHeightKey "MtcCallHeightKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video orientation.
|
||
|
*/
|
||
|
#define MtcCallOrentationKey "MtcCallOrentationKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video frame rate
|
||
|
* in fps.
|
||
|
*/
|
||
|
#define MtcCallFrameRateKey "MtcCallFrameRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video bitrate in
|
||
|
* bps.
|
||
|
*/
|
||
|
#define MtcCallBitRateKey "MtcCallBitRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video bitrate
|
||
|
* of forward error correction.
|
||
|
*/
|
||
|
#define MtcCallBitRateFecKey "MtcCallBitRateFecKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the video bit rate
|
||
|
* of negative acknowledgement.
|
||
|
*/
|
||
|
#define MtcCallBitRateNackKey "MtcCallBitRateNackKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a boolean object reflecting if the call is a video
|
||
|
* call.
|
||
|
*/
|
||
|
#define MtcCallIsVideoKey "MtcCallIsVideoKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a boolean object reflecting if the media data is
|
||
|
* being sent.
|
||
|
*/
|
||
|
#define MtcCallIsSendKey "MtcCallIsSendKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the network status
|
||
|
* @ref EN_MTC_NET_STATUS_TYPE.
|
||
|
*/
|
||
|
#define MtcCallNetworkStatusKey "MtcCallNetworkStatusKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the status code
|
||
|
* @ref EN_MTC_CALL_TERM_STATUS_CODE.
|
||
|
*/
|
||
|
#define MtcCallStatusCodeKey "MtcCallStatusCodeKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the description.
|
||
|
*/
|
||
|
#define MtcCallDescriptionKey "MtcCallDescriptionKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a bool object reflecting if the network state is
|
||
|
* good enough to send data.
|
||
|
*/
|
||
|
#define MtcCallSendAdviceKey "MtcCallSendAdviceKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting video status.
|
||
|
*/
|
||
|
#define MtcCallVideoStatusKey "MtcCallVideoStatusKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting
|
||
|
* RTT (round trip time) of receive direction in milliseconds.
|
||
|
*/
|
||
|
#define MtcCallReceiveRttKey "MtcCallReceiveRttKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting
|
||
|
* lost ratio of receive direction in percentage.
|
||
|
*/
|
||
|
#define MtcCallReceiveLostRatioKey "MtcCallReceiveLostRatioKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting
|
||
|
* jitter of receive direction in milliseconds.
|
||
|
*/
|
||
|
#define MtcCallReceiveJitterKey "MtcCallReceiveJitterKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting estimated video
|
||
|
* bandwidth of receive direction in kbps.
|
||
|
*/
|
||
|
#define MtcCallReceiveEstBandwidthKey "MtcCallReceiveBandwidthKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting estimated video
|
||
|
* bandwidth of sending direction in kbps.
|
||
|
*/
|
||
|
#define MtcCallSendEstBandwidthKey "MtcCallSendBandwidthKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting
|
||
|
* current bit rate of receive direction in kbps.
|
||
|
*/
|
||
|
#define MtcCallReceiveCurBitRateKey "MtcCallReceiveCurBitRateKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting
|
||
|
* current bit rate of sending direction in kbps.
|
||
|
*/
|
||
|
#define MtcCallSendCurBitRateKey "MtcCallSendCurBitRateKey"
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object reflecting the alert type
|
||
|
* @ref EN_MTC_CALL_ALERT_TYPE.
|
||
|
*/
|
||
|
#define MtcCallAlertTypeKey "MtcCallAlertTypeKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object relfecting the image timestamp.
|
||
|
*/
|
||
|
#define MtcCallImageTimeStampKey "MtcCallImageTimeStampKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a boolean object relfecting the if record log.
|
||
|
*/
|
||
|
#define MtcCallNoLogKey "MtcCallNoLogKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the data received from server.
|
||
|
*/
|
||
|
#define MtcCallUserDataParmKey "MtcCallUserDataParmKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the data received from server.
|
||
|
*/
|
||
|
#define MtcCallUserDataKey "MtcUserDataKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the data received from server.
|
||
|
*/
|
||
|
#define MtcCallServerUserDataKey "MtcCallServerUserDataKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the name of stream data received.
|
||
|
*/
|
||
|
#define MtcCallDataNameKey "MtcCallDataNameKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the value of stream data received.
|
||
|
*/
|
||
|
#define MtcCallDataValueKey "MtcCallDataValueKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the file's name.
|
||
|
*/
|
||
|
#define MtcCallFileNameKey "MtcCallFileNameKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object in json format reflecting
|
||
|
* the file's path.
|
||
|
*/
|
||
|
#define MtcCallFilePathKey "MtcCallFilePathKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting
|
||
|
* the server call ID.
|
||
|
*/
|
||
|
#define MtcCallServerIdKey "MtcCallServerIdKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a number object relfecting
|
||
|
* the start time of call, which is in UNIX timestamp format.
|
||
|
*/
|
||
|
#define MtcCallStartTimeKey "MtcCallStartTimeKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object relfecting
|
||
|
* the peer name.
|
||
|
*/
|
||
|
#define MtcCallPeerNameKey "MtcCallPeerNameKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object relfecting
|
||
|
* the peer name.
|
||
|
*/
|
||
|
#define MtcCallPeerUriKey "MtcCallPeerUriKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object relfecting
|
||
|
* the peer user ID.
|
||
|
*/
|
||
|
#define MtcCallPeerUidKey "MtcCallPeerUidKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object relfecting
|
||
|
* the terminated reason.
|
||
|
*/
|
||
|
#define MtcCallTermReasonKey "MtcCallTermReasonKey"
|
||
|
/** @} */
|
||
|
|
||
|
/**
|
||
|
* @defgroup MtcCallNotification MTC notification of session event.
|
||
|
* @{
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when missing call infomation received.
|
||
|
*
|
||
|
* The pcInfo of this notification contains
|
||
|
* @ref MtcCallServerIdKey,
|
||
|
* @ref MtcCallIsVideoKey,
|
||
|
* @ref MtcCallStartTimeKey,
|
||
|
* @ref MtcCallPeerNameKey,
|
||
|
* @ref MtcCallPeerUriKey.
|
||
|
*/
|
||
|
#define MtcCallMissedNotification "MtcCallMissedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call goes out.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallOutgoingNotification "MtcCallOutgoingNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call comes in.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallIncomingNotification "MtcCallIncomingNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call is evoked by a refer.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallIsVideoKey, @ref MtcCallUserDataParmKey.
|
||
|
*/
|
||
|
#define MtcCallReferInNotification "MtcCallReferInNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call is evoked by a refer.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallReferOutNotification "MtcCallReferOutNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when receive the response for call out.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallTryingNotification "MtcCallTryingNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call rings.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallAlertTypeKey.
|
||
|
*/
|
||
|
#define MtcCallAlertedNotification "MtcCallAlertedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call is forwarded.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallForwardedNotification "MtcCallForwardedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call is pre-acknowledged.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallPrackNotification "MtcCallPrackNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when answering the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAnsweringNotification "MtcCallAnsweringNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the connection is being established.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallConnectingNotification "MtcCallConnectingNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the connection is established and the voice can be heard.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallTalkingNotification "MtcCallTalkingNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call session is terminated by a user.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallStatusCodeKey.
|
||
|
*/
|
||
|
#define MtcCallDidTermNotification "MtcCallDidTermNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call session is terminated but not by a user.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallDescriptionKey and @ref MtcCallStatusCodeKey.
|
||
|
*/
|
||
|
#define MtcCallTermedNotification "MtcCallTermedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you hold the call successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallHoldOkNotification "MtcCallHoldOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you fail to hold the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallHoldFailedNotification "MtcCallHoldFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you unhold the call successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallUnholdOkNotification "MtcCallUnholdOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you fail to unhold the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallUnholdFailedNotification "MtcCallUnholdFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you are held by the other peer.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallHeldNotification "MtcCallHeldNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you are unheld by the other peer.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallUnheldNotification "MtcCallUnheldNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the audio is added successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAddAudioOkNotification "MtcCallAddAudioOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the audo failed to be added.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAddAudioFailedNotification "MtcCallAddAudioFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the audio is removed successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallRmvAudioOkNotification "MtcCallRmvAudioOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the audio failed to be removed.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallRmvAudioFailedNotification "MtcCallRmvAudioFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when receiving the request of adding audio to the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAddAudioRequestNotification "MtcCallAddAudioRequestNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the video is added successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAddVideoOkNotification "MtcCallAddVideoOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the video failed to be added.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAddVideoFaieldNotification "MtcCallAddVideoFaieldNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the video is added successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallRmvVideoOkNotification "MtcCallRmvVideoOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the video faild to be added.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallRmvVideoFailedNotification "MtcCallRmvVideoFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when receiving the request of adding video to the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallAddVideoRequestNotification "MtcCallAddVideoRequestNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when a request is received to refer the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallReferedNotification "MtcCallReferedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the transfer is accepted.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallTransferAcceptedNotification "MtcCallTransferAcceptedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the transfer process is finished.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallTransferEndedNotification "MtcCallTransferEndedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the transfer is failed.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallTransferFailedNotification "MtcCallTransferFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the call is redirected.
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallRedirectedNotification "MtcCallRedirectedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when your call is replaced.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallReplacedNotification "MtcCallReplacedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you replace the call successfully.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallReplaceOkNotification "MtcCallReplaceOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you fail to replace the call.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallReplaceFailedNotification "MtcCallReplaceFailedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when an info message is received.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallBodyKey.
|
||
|
*/
|
||
|
#define MtcCallInfoReceivedNotification "MtcCallInfoReceivedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the camera is disconnected.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallCamDisconnedNotification "MtcCallCamDisconnedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the video image size is changed.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallWidthKey, @ref MtcCallHeightKey and @ref MtcCallOrentationKey.
|
||
|
*/
|
||
|
#define MtcCallVideoSizeChangedNotification "MtcCallVideoSizeChangedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when collecting the network statistics of the received video
|
||
|
* stream including framerate and bitrate.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallFrameRateKey and @ref MtcCallBitRateKey.
|
||
|
*/
|
||
|
#define MtcCallVideoIncomingStaNotification "MtcCallVideoIncomingStaNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when collecting the network statistics of the sending video
|
||
|
* stream including framerate and bitrate.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallFrameRateKey and @ref MtcCallBitRateKey.
|
||
|
*/
|
||
|
#define MtcCallVideoOutgoingStaNotification "MtcCallVideoOutgoingStaNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when collecting the status of FEC and NACK.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallBitRateFecKey and @ref MtcCallBitRateNackKey.
|
||
|
*/
|
||
|
#define MtcCallVideoProtectStatusNotification "MtcCallVideoProtectStatusNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when capturing the video framerate.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallFrameRateKey.
|
||
|
*/
|
||
|
#define MtcCallCaptureFramerateNotification "MtcCallCaptureFramerateNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when capturing the video size.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallWidthKey, and @ref MtcCallHeightKey.
|
||
|
*/
|
||
|
#define MtcCallCaptureSizeNotification "MtcCallCaptureSizeNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when network status changes.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey,
|
||
|
* @ref MtcCallIsVideoKey, @ref MtcCallIsSendKey and @ref MtcCallNetworkStatusKey.
|
||
|
*/
|
||
|
#define MtcCallNetworkStatusChangedNotification "MtcCallNetworkStatusChangedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when render starts.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey.
|
||
|
*/
|
||
|
#define MtcCallRenderDidStartNotification "MtcCallRenderDidStartNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the send advice changes. The send advice decides whether
|
||
|
* or not to send the data depending on the network status.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallSendAdviceKey.
|
||
|
*/
|
||
|
#define MtcCallVideoSendAdviceChangedNotification "MtcCallVideoSendAdviceChangedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when the user stops receiving data or starts receiving data.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallVideoStatusKey.
|
||
|
*/
|
||
|
#define MtcCallVideoReceiveStatusChangedNotification "MtcCallVideoReceiveStatusChangedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when received the mangified image.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallImageTimeStampKey.
|
||
|
*/
|
||
|
#define MtcCallReceivedMangifiedImageNotification "MtcCallReceivedMangifiedImageNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you received data from peer.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey @ref MtcCallDataNameKey
|
||
|
* @ref MtcCallDataValueKey.
|
||
|
*/
|
||
|
#define MtcCallStreamDataReceivedNotification "MtcCallStreamDataReceivedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when send file OK.
|
||
|
*
|
||
|
* The pcInfo of this notification contains
|
||
|
* @ref MtcCallIdKey @ref MtcCallFileNameKey
|
||
|
*/
|
||
|
#define MtcCallStreamFileSendOkNotification "MtcCallStreamFileSendOkNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when failed to send file.
|
||
|
*
|
||
|
* The pcInfo of this notification contains
|
||
|
* @ref MtcCallIdKey @ref MtcCallFileNameKey
|
||
|
*/
|
||
|
#define MtcCallStreamFileSendDidFailNotification "MtcCallStreamFileSendDidFailNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when you received data from peer.
|
||
|
*
|
||
|
* The pcInfo of this notification contains
|
||
|
* @ref MtcCallIdKey @ref MtcCallFileNameKey @ref MtcCallFilePathKey
|
||
|
* @ref MtcCallUserDataKey
|
||
|
*/
|
||
|
#define MtcCallStreamFileReceivedNotification "MtcCallStreamFileReceivedNotification"
|
||
|
|
||
|
/**
|
||
|
* @brief Posted when error occurs.
|
||
|
*
|
||
|
* The pcInfo of this notification contains @ref MtcCallIdKey and
|
||
|
* @ref MtcCallStatusCodeKey.
|
||
|
*/
|
||
|
#define MtcCallErrorNotification "MtcCallErrorNotification"
|
||
|
/** @} */
|
||
|
|
||
|
/**
|
||
|
* @brief MTC Call, establishing session call with video or audio.
|
||
|
*
|
||
|
* If send a new call and the callee answered, GUI will be notified by
|
||
|
* MtcCallAlertedNotification, MtcCallTalkingNotification
|
||
|
*
|
||
|
* If send a new call and the callee redirected, GUI will be notified by
|
||
|
* MtcCallOutgoingNotification, MtcCallAlertedNotification, MtcCallTalkingNotification
|
||
|
*
|
||
|
* If send a new call and the callee do not answered(timeout, busy now, etc.), GUI will be
|
||
|
* notified by MtcCallAlertedNotification, MtcCallDidTermNotification
|
||
|
*
|
||
|
* While receiving call invitation, GUI will be notified by
|
||
|
* MtcCallIncomingNotification.
|
||
|
*
|
||
|
* While receiving call invitation and session is exist, GUI will be notified by
|
||
|
* MtcCallReplacedNotification.
|
||
|
*
|
||
|
* @param [in] pcUri The destination URI to which you want to make a session call.
|
||
|
* @param [in] zCookie Used to correspond session with UI resource.
|
||
|
* @param [in] bAudio Indicate whether this call has a voice stream.
|
||
|
* @param [in] bVideo Indicate whether this call has a video stream.
|
||
|
*
|
||
|
* @return The id of this new created session on succeed, otherwise return ZMAXUINT.
|
||
|
*
|
||
|
* @see @ref Mtc_CallAnswer
|
||
|
*/
|
||
|
MTCFUNC ZUINT Mtc_Call(ZCONST ZCHAR *pcUri, ZCOOKIE zCookie, ZBOOL bAudio,
|
||
|
ZBOOL bVideo);
|
||
|
|
||
|
/**
|
||
|
* @defgroup MtcCallKey MTC notification key of session event.
|
||
|
* @{
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a boolean object reflecting if the call is a video call.
|
||
|
* the value must be true or false.
|
||
|
*/
|
||
|
#define MtcCallInfoHasVideoKey "MtcCallInfoHasVideoKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the nick name.
|
||
|
*/
|
||
|
#define MtcCallInfoDisplayNameKey "MtcCallInfoDisplayNameKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the prefered uri.
|
||
|
*/
|
||
|
#define MtcCallInfoPreferedUriKey "MtcCallInfoPreferedUriKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the peer name.
|
||
|
*/
|
||
|
#define MtcCallInfoPeerDisplayNameKey "MtcCallInfoPeerDisplayNameKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the user data.
|
||
|
*/
|
||
|
#define MtcCallInfoUserDataKey "MtcCallInfoUserDataKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the user data
|
||
|
* deliveried to server.
|
||
|
*/
|
||
|
#define MtcCallInfoServerUserDataKey "MtcCallInfoServerUserDataKey"
|
||
|
|
||
|
/**
|
||
|
* @brief A key whose value is a string object reflecting the
|
||
|
* call parameters to server.
|
||
|
*/
|
||
|
#define MtcCallInfoCallParamsKey "MtcCallInfoCallParamsKey"
|
||
|
/** @} */
|
||
|
|
||
|
/**
|
||
|
* @brief MTC Call, establishing session call with video or audio.
|
||
|
*
|
||
|
* If send a new call and the callee answered, GUI will be notified by
|
||
|
* MtcCallAlertedNotification, MtcCallTalkingNotification
|
||
|
*
|
||
|
* If send a new call and the callee redirected, GUI will be notified by
|
||
|
* MtcCallOutgoingNotification, MtcCallAlertedNotification, MtcCallTalkingNotification
|
||
|
*
|
||
|
* If send a new call and the callee do not answered(timeout, busy now, etc.), GUI will be
|
||
|
* notified by MtcCallAlertedNotification, MtcCallDidTermNotification
|
||
|
*
|
||
|
* While receiving call invitation, GUI will be notified by
|
||
|
* MtcCallIncomingNotification.
|
||
|
*
|
||
|
* While receiving call invitation and session is exist, GUI will be notified by
|
||
|
* MtcCallReplacedNotification.
|
||
|
*
|
||
|
* @param [in] pcUri The destination URI to which you want to make a session call.
|
||
|
* @param [in] zCookie Used to correspond session with UI resource.
|
||
|
* @param [in] pcInfo Information of call in JSON format, which contains
|
||
|
* @ref MtcCallInfoHasVideoKey,
|
||
|
* @ref MtcCallInfoDisplayNameKey,
|
||
|
* @ref MtcCallInfoPreferedUriKey,
|
||
|
* @ref MtcCallInfoPeerDisplayNameKey,
|
||
|
* @ref MtcCallInfoUserDataKey,
|
||
|
* @ref MtcCallInfoServerUserDataKey,
|
||
|
* @ref MtcCallInfoCallParamsKey.
|
||
|
*
|
||
|
* @return The id of this new created session on succeed, otherwise return ZMAXUINT.
|
||
|
*
|
||
|
* @see @ref Mtc_CallAnswer
|
||
|
*/
|
||
|
MTCFUNC ZUINT Mtc_CallJ(ZCONST ZCHAR *pcUri, ZCOOKIE zCookie,
|
||
|
ZCONST ZCHAR *pcInfo);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC Call, establishing session call after MtcCAllReferOutNotification.
|
||
|
*
|
||
|
* @param iCallId The id of session to perform call.
|
||
|
* @param [in] zCookie Used to correspond session with UI resource.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallOut(ZUINT iCallId, ZCOOKIE zCookie);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session alert an incoming session.
|
||
|
*
|
||
|
* @param [in] iCallId The id of incoming session which you want answer.
|
||
|
* @param [in] zCookie Used to correspond session with UI resource.
|
||
|
* @param [in] iType Alert type, @ref EN_MTC_CALL_ALERT_RING,
|
||
|
@ref EN_MTC_CALL_ALERT_QUEUED
|
||
|
or @ref EN_MTC_CALL_ALERT_IN_PROGRESS.
|
||
|
* @param [in] bReliable If ZTRUE, message will be sending as reliable
|
||
|
* provisional response.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see Mtc_Call
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallAlert(ZUINT iCallId, ZCOOKIE zCookie, ZUINT iType,
|
||
|
ZBOOL bReliable);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session answer an incoming session call which is notified by
|
||
|
* callback function which MtcCallIncomingNotification.
|
||
|
*
|
||
|
* @param [in] iCallId The id of incoming session which you want to answer.
|
||
|
* @param [in] zCookie Used to correspond session with UI resource.
|
||
|
* @param [in] bAudio Indicate whether this call has a voice stream.
|
||
|
* @param [in] bVideo Indicate whether this call has a video stream.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see @ref Mtc_Call, MtcCallIncomingNotification
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallAnswer(ZUINT iCallId, ZCOOKIE zCookie, ZBOOL bAudio,
|
||
|
ZBOOL bVideo);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session terminate.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to terminate.
|
||
|
* @param [in] iReason Indicate the terminate reason. Only
|
||
|
* @ref EN_MTC_CALL_TERM_STATUS_NORMAL,
|
||
|
* @ref EN_MTC_CALL_TERM_STATUS_BUSY,
|
||
|
* @ref EN_MTC_CALL_TERM_STATUS_DECLINE can be used.
|
||
|
* @param [in] pcDesc Detail description string.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* Actually Mtc_CallTerm does not free all resource allocated for this
|
||
|
* session. It only starts a terminating procedure. All resource will be
|
||
|
* freed automatically when the procedure ends.
|
||
|
*
|
||
|
* @see @ref Mtc_Call, @ref Mtc_CallAnswer...
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallTerm(ZUINT iCallId, ZUINT iReason, ZCONST ZCHAR *pcDesc);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session send DTMF info.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to send DTMF info.
|
||
|
* @param [in] iDtmfType DTMF type which will be sent, see @ref EN_MTC_CALL_DTMF_TYPE.
|
||
|
* @param [in] bInBand ZTRUE to send inband, otherwise send outband.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallDtmf(ZUINT iCallId, ZUINT iDtmfType, ZBOOL bInBand);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session send INFO with text.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to send INFO.
|
||
|
* @param [in] pcInfo Text string carried by INFO.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallInfo(ZUINT iCallId, ZCONST ZCHAR *pcInfo);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session attach camera.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcName The name string of camera.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallCameraAttach(ZUINT iCallId, ZCONST ZCHAR *pcName);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session detach camera.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallCameraDetach(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC get session name.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @return The Render name string when found, otherwise "".
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetName(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC get session from render name.
|
||
|
*
|
||
|
* @param pcName Render name string.
|
||
|
*
|
||
|
* @return The ID of session when found, otherwise ZMAXULONG.
|
||
|
*/
|
||
|
MTCFUNC ZVOID * Mtc_CallFromName(ZCONST ZCHAR *pcName);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session pause sending video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to stop video transmission.
|
||
|
* @param [in] iState Transport state type, @ref EN_MTC_CALL_TRANSMISSION_STATE.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallVideoSetSend(ZUINT iCallId, ZUINT iState);
|
||
|
|
||
|
/**
|
||
|
* @brief Get MTC session video sending state.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @return Transport state type, @ref EN_MTC_CALL_TRANSMISSION_STATE.
|
||
|
*/
|
||
|
MTCFUNC ZUINT Mtc_CallVideoGetSend(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief Get if the network status is suitable for sending video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZTRUE It is suitable for sending video.
|
||
|
* @retval ZFALSE It is not suitable for sending video.
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallVideoGetSendAdvice(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief Get MTC session video received state.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @return Transport state type, @ref EN_MTC_CALL_TRANSMISSION_STATE.
|
||
|
*/
|
||
|
MTCFUNC ZUINT Mtc_CallVideoGetRecv(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get network status of video stream.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @return Network status @ref EN_MTC_NET_STATUS_TYPE.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallGetVideoNetSta(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get network status of audio stream.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @return Network status @ref EN_MTC_NET_STATUS_TYPE.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallGetAudioNetSta(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get session state.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @return Session state @ref EN_MTC_CALL_STATE_TYPE.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallGetState(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session check if has a active video stream.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZTRUE on yes.
|
||
|
* @retval ZFALSE on no.
|
||
|
*
|
||
|
* @see @ref Mtc_CallHasAudio
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallHasVideo(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session check if has a active audio stream.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZTRUE on yes.
|
||
|
* @retval ZFALSE on no.
|
||
|
*
|
||
|
* @see @ref Mtc_CallHasVideo
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallHasAudio(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session check if peer offer a video stream.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZTRUE on yes.
|
||
|
* @retval ZFALSE on no.
|
||
|
*
|
||
|
* @see @ref Mtc_CallPeerOfferAudio
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallPeerOfferVideo(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session check if peer offer a audio stream.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZTRUE on yes.
|
||
|
* @retval ZFALSE on no.
|
||
|
*
|
||
|
* @see @ref Mtc_CallPeerOfferVideo
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallPeerOfferAudio(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get the mute status of microphone.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to get.
|
||
|
*
|
||
|
* @retval ZTRUE on muted.
|
||
|
* @retval ZFALSE on not muted.
|
||
|
*
|
||
|
* @see @ref Mtc_CallSetMicMute
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallGetMicMute(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session set the mute status of microphone.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to set.
|
||
|
* @param [in] bMute Indicate whether to mute the microphone.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see @ref Mtc_CallGetMicMute
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetMicMute(ZUINT iCallId, ZBOOL bMute);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get scale of microphone.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want get.
|
||
|
*
|
||
|
* @return Scale value, from 0.0 to 10.0, 1.0 for no scaling.
|
||
|
*
|
||
|
* @see Mtc_CallSetMicScale
|
||
|
*/
|
||
|
MTCFUNC ZFLOAT Mtc_CallGetMicScale(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session set scale of microphone.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want set.
|
||
|
* @param [in] fScale Scale value, from 0.0 to 10.0, 1.0 for no scaling.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see Mtc_CallGetMicScale
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetMicScale(ZUINT iCallId, ZFLOAT fScale);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get the mute status of speaker.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to get.
|
||
|
*
|
||
|
* @retval ZTRUE on muted.
|
||
|
* @retval ZFALSE on not muted.
|
||
|
*
|
||
|
* @see @ref Mtc_CallSetSpkMute
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallGetSpkMute(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session set the mute status of speaker.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to set.
|
||
|
* @param [in] bMute Indicate whether to mute the speaker.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see @ref Mtc_CallGetSpkMute
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetSpkMute(ZUINT iCallId, ZBOOL bMute);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get scale of speaker.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want get.
|
||
|
*
|
||
|
* @return Scale value, from 0.0 to 10.0, 1.0 for no scaling.
|
||
|
*
|
||
|
* @see Mtc_CallSetSpkScale
|
||
|
*/
|
||
|
MTCFUNC ZFLOAT Mtc_CallGetSpkScale(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session set scale of speaker.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want set.
|
||
|
* @param [in] fScale Scale value, from 0.0 to 10.0, 1.0 for no scaling.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see Mtc_CallGetSpkScale
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetSpkScale(ZUINT iCallId, ZFLOAT fScale);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get volume of speaker.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want get.
|
||
|
*
|
||
|
* @return Volume value, from 0 to 20.
|
||
|
*
|
||
|
* @see Mtc_CallSetSpkVol
|
||
|
*/
|
||
|
MTCFUNC ZUINT Mtc_CallGetSpkVol(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session set volume of speaker.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want set.
|
||
|
* @param [in] iVol Volume value, from 0 to 20.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*
|
||
|
* @see Mtc_CallGetSpkVol
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetSpkVol(ZUINT iCallId, ZUINT iVol);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get mix voice status.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to set.
|
||
|
*
|
||
|
* @return mix voice status.
|
||
|
*/
|
||
|
MTCFUNC ZBOOL Mtc_CallGetMixVoice(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session set mix voice status.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to set.
|
||
|
* @param [in] bEnable Indicate whether to mix voice. If ZTRUE, it will mix
|
||
|
* corresponding session's voice.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetMixVoice(ZUINT iCallId, ZBOOL bEnable);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get name of peer id, based on polices.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to get.
|
||
|
*
|
||
|
* @retval The string of name.
|
||
|
*
|
||
|
* Note the result of this function may be different with Mtc_CallGetPeerUri
|
||
|
* because the apply of polices. For example, OIP, OIR, TIP, TIR, and privacy.
|
||
|
*
|
||
|
* @see @ref Mtc_CallGetPeerUid
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetPeerName(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get display name of peer id, based on polices.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to get.
|
||
|
*
|
||
|
* @retval The string of display name.
|
||
|
*
|
||
|
* Note the result of this function may be different with Mtc_CallGetPeerUri
|
||
|
* because the apply of polices. For example, OIP, OIR, TIP, TIR, and privacy.
|
||
|
*
|
||
|
* @see @ref Mtc_CallGetPeerUid
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetPeerDisplayName(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session get peer URI and display name.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session which you want to get.
|
||
|
*
|
||
|
* @retval The string of URI.
|
||
|
*
|
||
|
* The peer information get by this function is actually from FROM/TO header in
|
||
|
* SIP message. So the true identity of peer user is not asserted by server.
|
||
|
*
|
||
|
* @see @ref Mtc_CallGetPeerUid
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetPeerUri(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief Mtc session get audio statistics.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval String of audio statistics.
|
||
|
*
|
||
|
* @see
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetAudioStat(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief Mtc session get video statistics.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval String of video statistics.
|
||
|
*
|
||
|
* @see
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetVideoStat(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief Mtc session get mpt statistics.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval String of mpt statistics.
|
||
|
*
|
||
|
* @see
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallGetMptStat(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief Mtc session set parameters.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcKey The key of parameter.
|
||
|
* @param [in] pcValue The value of parameter.
|
||
|
*
|
||
|
* @retval ZOK on succeed.
|
||
|
* @retval ZFAILED on failure.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSetMpt(ZUINT iCallId, ZCONST ZCHAR *pcKey, ZCONST ZCHAR *pcValue);
|
||
|
|
||
|
/**
|
||
|
* @brief Mtc session get audio status.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] iFlag Call option @ref MtcCallStatus.
|
||
|
*
|
||
|
* @retval String which is JSON format includes @ref MtcCallStatusKey.
|
||
|
*
|
||
|
* @see
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallAudioGetStatus(ZUINT iCallId, ZUINT iFlag);
|
||
|
|
||
|
/**
|
||
|
* @brief Mtc session get video status.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] iFlag Call option @ref MtcCallStatus.
|
||
|
*
|
||
|
* @retval String which is JSON format includes @ref MtcCallStatusKey.
|
||
|
*
|
||
|
* @see
|
||
|
*/
|
||
|
MTCFUNC ZCONST ZCHAR * Mtc_CallVideoGetStatus(ZUINT iCallId, ZUINT iFlag);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session mangify image of video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] dCenterX X position of original point of the movement, from 0.0 to 1.0.
|
||
|
* @param [in] dCenterY Y position of original point of the movement, from 0.0 to 1.0.
|
||
|
* @param [in] dZoom Mangification factor.
|
||
|
* @param [in] dOffsetX The moving distance of the X-axis direction, from 0.0 to 1.0.
|
||
|
* @param [in] dOffsetY The moving distance of the Y-axis direction, from 0.0 to 1.0.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallMangify(ZUINT iCallId, ZDOUBLE dCenterX, ZDOUBLE dCenterY,
|
||
|
ZDOUBLE dZoom, ZDOUBLE dOffsetX, ZDOUBLE dOffsetY);
|
||
|
|
||
|
/**
|
||
|
* @brief Reccord call start.
|
||
|
*
|
||
|
* It will reccord from call to file.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcFileName The reccord file name.
|
||
|
* @param [in] ucFileType The reccord file type, @ref EN_MTC_MFILE_TYPE
|
||
|
*
|
||
|
* @retval ZOK Audio Reccord successfully.
|
||
|
* @retval ZFAILED Audio Reccord failed.
|
||
|
*
|
||
|
* @see @ref Mtc_CallRecCallStop
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecCallStart(ZUINT iCallId, ZCONST ZCHAR *pcFileName,
|
||
|
ZUCHAR ucFileType);
|
||
|
|
||
|
/**
|
||
|
* @brief Reccord Audio stop.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @see @ref Mtc_CallRecCallStart
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecCallStop(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session start recoding incoming video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcFileName Name of the file which to store the recording data.
|
||
|
* @param [in] iWidth Video width in pixel of recoding data.
|
||
|
* @param [in] iHeight Video height in pixel of recoding data.
|
||
|
* @param [in] pcParms More parameters, @ref MtcMediaFileTypeKey,
|
||
|
* @ref MtcMediaVideoRecordOptionKey,
|
||
|
* @ref MtcMediaVideoQualityKey,
|
||
|
* @ref MtcMediaVideoFillModeKey,
|
||
|
* @ref MtcMediaVideoFrameRateKey.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRecRecvVideoStop
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecRecvVideoStart(ZUINT iCallId,
|
||
|
ZCONST ZCHAR *pcFileName, ZUINT iWidth, ZUINT iHeight, ZCONST ZCHAR *pcParms);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session stop recoding incoming video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRecRecvVideoStart
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecRecvVideoStop(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session start recoding sending video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcFileName Name of the file which to store the recording data.
|
||
|
* @param [in] iWidth Video width in pixel of recoding data.
|
||
|
* @param [in] iHeight Video height in pixel of recoding data.
|
||
|
* @param [in] pcParms More parameters, @ref MtcMediaFileTypeKey,
|
||
|
* @ref MtcMediaVideoRecordOptionKey,
|
||
|
* @ref MtcMediaVideoQualityKey,
|
||
|
* @ref MtcMediaVideoFillModeKey,
|
||
|
* @ref MtcMediaVideoFrameRateKey.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRecSendVideoStop
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecSendVideoStart(ZUINT iCallId,
|
||
|
ZCONST ZCHAR *pcFileName, ZUINT iWidth, ZUINT iHeight, ZCONST ZCHAR *pcParms);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session stop recoding sending video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRecSendVideoStart
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecSendVideoStop(ZUINT iCallId);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session start recoding camera video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcFileName Name of the file which to store the recording data.
|
||
|
* @param [in] pcCameraId Name of camera.
|
||
|
* @param [in] iWidth Video width in pixel of recoding data.
|
||
|
* @param [in] iHeight Video height in pixel of recoding data.
|
||
|
* @param [in] pcParms More parameters, @ref MtcMediaFileTypeKey,
|
||
|
* @ref MtcMediaVideoRecordOptionKey,
|
||
|
* @ref MtcMediaVideoQualityKey,
|
||
|
* @ref MtcMediaVideoFillModeKey,
|
||
|
* @ref MtcMediaVideoFrameRateKey.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRecCameraStop
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecCameraStart(ZUINT iCallId, ZCONST ZCHAR *pcFileName,
|
||
|
ZCONST ZCHAR *pcCameraId, ZUINT iWidth, ZUINT iHeight,
|
||
|
ZCONST ZCHAR *pcParms);
|
||
|
|
||
|
/**
|
||
|
* @brief MTC session stop recoding camera video.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcCameraId The ID of camera
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRecCameraStart
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRecCameraStop(ZUINT iCallId, ZCONST ZCHAR *pcCameraId);
|
||
|
|
||
|
/**
|
||
|
* @brief Take a snapshot of display render.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcFileName Name of the file which to store the picture.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallCaptureSnapshot
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallRenderSnapshot(ZUINT iCallId, ZCONST ZCHAR *pcFileName);
|
||
|
|
||
|
/**
|
||
|
* @brief Take a snapshot of capture.
|
||
|
*
|
||
|
* @param [in] iCallId The ID of session.
|
||
|
* @param [in] pcFileName Name of the file which to store the picture.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*
|
||
|
* @see Mtc_CallRenderSnapshot
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallCaptureSnapshot(ZUINT iCallId, ZCONST ZCHAR *pcFileName);
|
||
|
|
||
|
/**
|
||
|
* @brief Send data through stream.
|
||
|
*
|
||
|
* @param iCallId The ID of session.
|
||
|
* @param bReliable ZTRUE to send data through reliable stream.
|
||
|
* @param pcName The data name.
|
||
|
* @param pcValue The data value.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSendStreamData(ZUINT iCallId, ZBOOL bReliable,
|
||
|
ZCONST ZCHAR *pcName, ZCONST ZCHAR *pcValue);
|
||
|
|
||
|
/**
|
||
|
* @brief Send file through stream.
|
||
|
*
|
||
|
* @param iCallId The ID of session.
|
||
|
* @param pcFileName The file name.
|
||
|
* @param pcFilePath The fiel path.
|
||
|
* @param pcUserData The user data.
|
||
|
*
|
||
|
* @retval ZOK on successfully.
|
||
|
* @retval ZFAILED on failed.
|
||
|
*/
|
||
|
MTCFUNC ZINT Mtc_CallSendStreamFile(ZUINT iCallId, ZCONST ZCHAR *pcFileName,
|
||
|
ZCONST ZCHAR *pcFilePath, ZCONST ZCHAR *pcUserData);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* _MTC_CALL_H__ */
|