Misc fix (#1026): incoming call event is not detected by PocketPJ sample application


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3073 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip-apps/src/pocketpj/PocketPJDlg.cpp b/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
index b8a6bf2..87caf19 100644
--- a/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
+++ b/pjsip-apps/src/pocketpj/PocketPJDlg.cpp
@@ -394,6 +394,19 @@
     }
 }
 
+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 @@
 		   "", "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 @@
     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 98bed57..2b3eb97 100644
--- a/pjsip-apps/src/pocketpj/PocketPJDlg.h
+++ b/pjsip-apps/src/pocketpj/PocketPJDlg.h
@@ -23,6 +23,7 @@
 	CPocketPJDlg(CWnd* pParent = NULL);	// standard constructor
 
 	void OnPopUpButton(int btnNo);
+	void OnIncomingCall();
 
 // Dialog Data
 	//{{AFX_DATA(CPocketPJDlg)
@@ -40,6 +41,7 @@
 	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
 	//}}AFX_VIRTUAL
 
+
 // Implementation
 protected:
 	HICON m_hIcon;