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.
 
 
 
 

179 lines
4.2 KiB

//
// JCCallConstants.h
// JCSDK-OC
//
// Created by maikireton on 2017/8/11.
// Copyright © 2017年 juphoon. All rights reserved.
//
#import <Foundation/Foundation.h>
/// @addtogroup 错误码
/// @{
/**
* 通话结束错误原因
*/
typedef NS_ENUM(NSInteger, JCCallReason) {
/// 无异常
JCCallReasonNone,
/// 未登录
JCCallReasonNotLogin,
/// 函数调用失败
JCCallReasonCallFunctionError,
/// 超时
JCCallReasonTimeOut,
/// 网络异常
JCCallReasonNetWork,
/// 超过通话数限制
JCCallReasonCallOverLimit,
/// 自己挂断
JCCallReasonTermBySelf,
/// 应答失败
JCCallReasonAnswerFail,
/// 忙
JCCallReasonBusy,
/// 拒接
JCCallReasonDecline,
/// 用户不在线
JCCallReasonUserOffline,
/// 无此用户
JCCallReasonNotFound,
/// 已有通话拒绝视频来电
JCCallReasonRejectVideoWhenHasCall,
/// 已有视频通话拒绝来电
JCCallReasonRejectCallWhenHasVideoCall,
/// 通话因某端心跳超时挂断
JCCallReasonSessionTimeout,
/// 其他错误
JCCallReasonOther = 100,
};
/// @}
/// @addtogroup 一对一通话模块
/// @{
/**
* 通话方向
*/
typedef NS_ENUM(NSInteger, JCCallDirection) {
/// 呼入
JCCallDirectionIn,
/// 呼出
JCCallDirectionOut,
};
/**
* 通话状态
*/
typedef NS_ENUM(NSInteger, JCCallState) {
/// 初始
JCCallStateInit,
/// 振铃
JCCallStatePending,
/// 连接中
JCCallStateConnecting,
/// 通话中
JCCallStateTalking,
/// 通话正常结束
JCCallStateOk,
/// 未接通挂断
JCCallStateCancel,
/// 未接通被挂断
JCCallStateCanceled,
/// 未接
JCCallStateMissed,
/// 异常
JCCallStateError,
};
/**
* 通话网络状态
*/
typedef NS_ENUM(NSInteger, JCCallNetWork) {
/// 未知状态
JCCallNetWorkNA = -100,
/// 无网络
JCCallNetWorkDisconnected = -3,
/// 很差
JCCallNetWorkVeryBad,
/// 差
JCCallNetWorkBad,
/// 一般
JCCallNetWorkNormal,
/// 好
JCCallNetWorkGood,
/// 很好
JCCallNetWorkVeryGood,
};
/**
* DTMF值
*/
typedef NS_ENUM(NSInteger, JCCallDtmf) {
/// Dtmf0
JCCallDtmf0,
/// Dtmf1
JCCallDtmf1,
/// Dtmf2
JCCallDtmf2,
/// Dtmf3
JCCallDtmf3,
/// Dtmf4
JCCallDtmf4,
/// Dtmf5
JCCallDtmf5,
/// Dtmf6
JCCallDtmf6,
/// Dtmf7
JCCallDtmf7,
/// Dtmf8
JCCallDtmf8,
/// Dtmf9
JCCallDtmf9,
/// DtmfStar
JCCallDtmfStar,
/// DtmfPound
JCCallDtmfPound,
/// DtmfA
JCCallDtmfA,
/// DtmfB
JCCallDtmfB,
/// DtmfC
JCCallDtmfC,
/// DtmfD
JCCallDtmfD,
};
/**
* 回声消除模式
*/
typedef NS_ENUM(NSInteger, JCCallAecMode) {
/// 声学回声消除。支持在免提状态下的通话,对于iOS和Windows等性能较好的机型有效。
JCCallAecModeAEC = 0, // MtcCallDb.EN_MTC_EC_AEC;
/// 使用操作系统提供的声学回声消除功能,支持在免提状态下的通话。对于多数iOS和Android等品牌手机有效,但部分机型可能无效。
JCCallAecModeOS = 1, // MtcCallDb.EN_MTC_EC_OS;
/// 声学回声抑制,通过半双工方式实现回声抑制,通常不建议使用。
JCCallAecModeAES = 2, // MtcCallDb.EN_MTC_EC_AES;
/// 软件自适应声学回声消除,对于大多数所有机型有效。但计算量比AEC稍大一些。SDE追踪延迟精度高,FDE能适应更大的延迟。
JCCallAecModeFDE = 3, // MtcCallDb.EN_MTC_EC_AEC_FDE;
/// 软件自适应声学回声消除,对于大多数所有机型有效。但计算量比AEC稍大一些。SDE追踪延迟精度高,FDE能适应更大的延迟。
JCCallAecModeSDE = 4, // MtcCallDb.EN_MTC_EC_AEC_SDE;
};
/**
* 通话媒体配置模式
*/
typedef NS_ENUM(NSInteger, JCCallMediaConfigMode) {
/// 360P
JCCallMediaConfigMode360P,
/// 720P
JCCallMediaConfigMode720P,
/// 智能硬件场景,比如会和手表通话等
JCCallMediaConfigModeIntelligentHardware,
/// 与asr,展讯等小系统互通
JCCallMediaConfigModeIOT,
/// 对接落地业务,此模式会关闭 srtp 加密以及部分落地业务不支持的协商配置
JCCallMediaConfigModeSip,
};
///@}