summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsua
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2010-08-27 06:46:29 +0000
committerLiong Sauw Ming <ming@teluu.com>2010-08-27 06:46:29 +0000
commita5c285d7fd046c862ef2ba11cd8bef71786db939 (patch)
tree13247c6735d6bb8f6a4b6d5253b39dd8a4b0e6a3 /pjsip-apps/src/pjsua
parent41b2998504157f24d6b991d372e77addbed55030 (diff)
Closed ticket #1107: iOS4 background feature
* pjlib: * add support for activesock TCP to work in background mode. * add feature in ioqueue to recreate closed UDP sockets. * pjsip-apps: * ipjsua: add support for iPhone OS 4 background mode * ipjsystest: add support for iPhone OS 4 background mode git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3299 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/pjsua')
-rw-r--r--pjsip-apps/src/pjsua/gui.h1
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c28
2 files changed, 26 insertions, 3 deletions
diff --git a/pjsip-apps/src/pjsua/gui.h b/pjsip-apps/src/pjsua/gui.h
index 6a321bf2..8e622253 100644
--- a/pjsip-apps/src/pjsua/gui.h
+++ b/pjsip-apps/src/pjsua/gui.h
@@ -29,6 +29,7 @@ PJ_BEGIN_DECL
void showMsg(const char *format, ...);
char * getInput(char *s, int n, FILE *stream);
+pj_bool_t showNotification(pjsua_call_id call_id);
#endif
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index f51a30cd..9da513d7 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -158,6 +158,23 @@ pj_log_func *log_cb = NULL;
* Configuration manipulation
*/
+#if (defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \
+ PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0) || \
+ defined(__IPHONE_4_0)
+void keepAliveFunction(int timeout)
+{
+ int i;
+ for (i=0; i<(int)pjsua_acc_get_count(); ++i) {
+ if (!pjsua_acc_is_valid(i))
+ continue;
+
+ if (app_config.acc_cfg[i].reg_timeout < timeout)
+ app_config.acc_cfg[i].reg_timeout = timeout;
+ pjsua_acc_set_registration(i, PJ_TRUE);
+ }
+}
+#endif
+
/* Show usage */
static void usage(void)
{
@@ -2456,12 +2473,17 @@ static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id,
pjsua_call_get_info(call_id, &call_info);
- /* Start ringback */
- ring_start(call_id);
-
if (current_call==PJSUA_INVALID_ID)
current_call = call_id;
+#ifdef USE_GUI
+ if (!showNotification(call_id))
+ return;
+#endif
+
+ /* Start ringback */
+ ring_start(call_id);
+
if (app_config.auto_answer > 0) {
pjsua_call_answer(call_id, app_config.auto_answer, NULL, NULL);
}