@1、电话状态变化和电话事件传递
先看一下phapi的电话状态变化图,该图在phapi-old.h中可以找到
/**
* @defgroup phAPI Phone API
* @{
* 格式错误无法正常显示,见PHAPI-OLD.H*/
状态名字都很简单,不在赘述。在PHAPI中,当状态发生变化时都会触发对应的事件。
事件由owplFireCallEvent一系列系列函数发布,函数的声明在qutecom\wifo\phapi\phevents.h中定义。
事件的起源可能是从UI传递的命令,也可能是osip协议栈接收到的标识电话状态改变的数据包。用简单的流程图表示如下:
UI<==>owphone<==>SipWrapper(PhapiWrapper)<==>phapi<==>exosip<==>osip2
@2、拨打电话(makeCall)触发的事件链
按下界面下方拨号按钮拨打电话
$1、从UI传递消息给底层SIP协议栈的过程
QtCallBar::callButtonClickedSlot()//线程上下文在QCoreApplication::instance()中。
==>QtQuteCom::callButtonClicked()
==>CUserProfile::makeCall()
==>UserProfile::makeCall()//在QuteCom::getInstance