From 3b0e3817784670d13b0f0a62e28047e56c81042b Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 25 Jan 2010 17:38:07 +0000 Subject: Misc fix (#1026): incoming call event is not detected by PocketPJ sample application git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3073 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip-apps/src/pocketpj/PocketPJDlg.cpp | 21 ++++++++++++++++----- pjsip-apps/src/pocketpj/PocketPJDlg.h | 2 ++ 2 files changed, 18 insertions(+), 5 deletions(-) (limited to 'pjsip-apps/src') diff --git a/pjsip-apps/src/pocketpj/PocketPJDlg.cpp b/pjsip-apps/src/pocketpj/PocketPJDlg.cpp index b8a6bf2f..87caf19b 100644 --- a/pjsip-apps/src/pocketpj/PocketPJDlg.cpp +++ b/pjsip-apps/src/pocketpj/PocketPJDlg.cpp @@ -394,6 +394,19 @@ void CPocketPJDlg::PopUp_Hide(PopUpType type) } } +void CPocketPJDlg::OnIncomingCall() +{ + pjsua_call_info ci; + + pjsua_call_get_info(0, &ci); + + PopUp_Show(POPUP_CALL, "Incoming call..", ci.remote_info.ptr, "", + "Answer", "Hangup", 0); + pjsua_call_answer(0, 180, NULL, NULL); + if (m_Cfg.m_AutoAnswer) + OnPopUpButton(1); +} + void CPocketPJDlg::OnCallState() { pjsua_call_info ci; @@ -408,11 +421,7 @@ void CPocketPJDlg::OnCallState() "", "Hangup", 0); break; case PJSIP_INV_STATE_INCOMING: /**< After INVITE is received. */ - PopUp_Show(POPUP_CALL, "Incoming call..", ci.remote_info.ptr, "", - "Answer", "Hangup", 0); - pjsua_call_answer(0, 180, NULL, NULL); - if (m_Cfg.m_AutoAnswer) - OnPopUpButton(1); + OnIncomingCall(); break; case PJSIP_INV_STATE_EARLY: /**< After response with To tag. */ case PJSIP_INV_STATE_CONNECTING:/**< After 2xx is sent/received. */ @@ -454,6 +463,8 @@ void CPocketPJDlg::on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, PJ_UNUSED_ARG(acc_id); PJ_UNUSED_ARG(call_id); PJ_UNUSED_ARG(rdata); + + theDlg->OnIncomingCall(); } void CPocketPJDlg::OnRegState() diff --git a/pjsip-apps/src/pocketpj/PocketPJDlg.h b/pjsip-apps/src/pocketpj/PocketPJDlg.h index 98bed57a..2b3eb977 100644 --- a/pjsip-apps/src/pocketpj/PocketPJDlg.h +++ b/pjsip-apps/src/pocketpj/PocketPJDlg.h @@ -23,6 +23,7 @@ public: CPocketPJDlg(CWnd* pParent = NULL); // standard constructor void OnPopUpButton(int btnNo); + void OnIncomingCall(); // Dialog Data //{{AFX_DATA(CPocketPJDlg) @@ -40,6 +41,7 @@ public: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL + // Implementation protected: HICON m_hIcon; -- cgit v1.2.3