OpenR2 呼叫流程

1、openr2_proto_make_call

调用状态机函数openr2_proto_handle_cas,确保主叫、被叫号码都为数字的,打开日志文件

2、openr2_proto_handle_cas(状态机)

协议的状态机,通过调用ioctl进入驱动中读取接受信令,并根据信令执行相应操作。

3、handle_incoming_call

状态机中处理电话进入时的函数,设置DTMF状态值,DTMF检测函数得到到该值后会初始化并检测被叫号码,并调用外部on_call_init函数,通知用户有电话进入,做好相应初始化工作

4、mf_receive_expected_dnis

该函数控制检测接受dnis,被叫号码接受完全后,调用request_change_to_g2设置状态字OR2_MF_CHG_GII_TXD

5、 handle_forword_mf_tone

该函数会根据上述状态字调用外部函数on_call_offered函数,用户根据接受到的号码决定时候接受本地来电,若接受再回调openr2_proto_accept_call函数

6、openr2_proto_accept_call

该函数设置mf_state状态值

 

 

 

你可能感兴趣的:(化工,电话)