智慧服务,成就美好体验 项目咨询

主页 > 服务与支持 > 开发平台 > 客户端SDK参考 > iOS Native SDK > 音视频呼叫 二次拨号

入门使用

二次拨号

更新时间:2019-11-20

描述

一些业务场景中,需要用户通过终端按键与网络进行交互,如充值、拨打总机后再拨打分机号码、拨打客服中心号码等,二次拨号功能,即DTMF(Dual Tone Multi-Frequency)功能就是为了满足这种需求而产生的。拨打电信运营商的号码后,收到提示音需要进行按键操作时,也是通过该功能完成。

已建立与业务服务器间的通话。

业务流程

图1 二次拨号流程 
  1. UI调用接口tsdk_send_dtmf()在通话中发送DTMF信号,参数为呼叫标识callid和需要发送的DTMF信号值TSDK_E_DTMF_TONE;UI需要在通话界面上提供一个标准拨号盘,根据用户的输入,发送对应的DTMF信号。
    说明: 

    SDK不提供DTMF按键音功能。为了实现更友好的最终用户体验,UI应同步调用SDK提供的媒体播放接口或系统提供的播放接口,实现播放DTMF按键音。

    代码示例:
    - (BOOL)sendDTMFWithDialNum:(NSString *)number callId:(unsigned int)callId
    {    
        TSDK_E_DTMF_TONE dtmfTone = (TSDK_E_DTMF_TONE)[number intValue];    
        if ([number isEqualToString:@"*"])    
        {        
             dtmfTone = TSDK_E_DTMF_STAR;    
        }    
        else if ([number isEqualToString:@"#"])    
        {        
            dtmfTone = TSDK_E_DTMF_POUND;    
        }    
        TSDK_UINT32 callid = callId;    
        TSDK_RESULT ret = tsdk_send_dtmf((TSDK_UINT32)callid,(TSDK_E_DTMF_TONE)dtmfTone);    
        DDLogInfo(@"Call_Log: tsdk_send_dtmf = %@",(TSDK_SUCCESS == ret)?@"YES":@"NO");    
        return ret == TSDK_SUCCESS ? YES : NO;
    }
     

注意事项

无。