updated pjsip stack
There is still a bug on incoming calls when buiding for android
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/alsa_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/alsa_dev.c
index 31b3b06..efda319 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/alsa_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/alsa_dev.c
@@ -1,4 +1,4 @@
-/* $Id: alsa_dev.c 4283 2012-10-12 06:19:32Z ming $ */
+/* $Id$ */
 /*
  * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2007-2009 Keystream AB and Konftel AB, All rights reserved.
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/android_jni_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/android_jni_dev.c
index 6025c8c..255663a 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/android_jni_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/android_jni_dev.c
@@ -1,4 +1,4 @@
-/* $Id: android_jni_dev.c 4435 2013-03-11 06:32:58Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2010-2012 Regis Montoya (aka r3gis - www.r3gis.fr)
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiodev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiodev.c
index c5cad7e..4ccce9f 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiodev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiodev.c
@@ -1,4 +1,4 @@
-/* $Id: audiodev.c 4435 2013-03-11 06:32:58Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiotest.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiotest.c
index 82893f5..e874d56 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiotest.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/audiotest.c
@@ -1,4 +1,4 @@
-/* $Id: audiotest.c 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/bb10_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/bb10_dev.c
index 91158b9..f1ad9a1 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/bb10_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/bb10_dev.c
@@ -1,4 +1,4 @@
-/* $Id: bb10_dev.c 4512 2013-04-30 09:00:36Z bennylp $ */
+/* $Id$ */
 /*
  * Copyright (C) 2008-2012 Teluu Inc. (http://www.teluu.com)
  *
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c
index 725df40..3248f61 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c
@@ -1,4 +1,4 @@
-/* $Id: coreaudio_dev.c 4527 2013-05-29 03:53:15Z ming $ */
+/* $Id$ */
 /*
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  *
@@ -50,6 +50,12 @@
      */
     #define USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER 0
 
+    /* Starting iOS SDK 7, Audio Session API is deprecated. */
+    #ifdef __IPHONE_7_0
+        #define USE_AUDIO_SESSION_API 0
+    #else
+        #define USE_AUDIO_SESSION_API 1
+    #endif
 #endif
 
 /* For Mac OS 10.5.x and earlier */
@@ -176,7 +182,7 @@
 				     pjmedia_dir dir,
 				     struct coreaudio_stream *strm,
 				     AudioUnit *io_unit);
-#if !COREAUDIO_MAC
+#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0
 static void interruptionListener(void *inClientData, UInt32 inInterruption);
 static void propListener(void *                 inClientData,
                          AudioSessionPropertyID inID,
@@ -236,7 +242,6 @@
     pj_status_t status;
 #if !COREAUDIO_MAC
     unsigned i;
-    OSStatus ostatus;
 #endif
 
     pj_list_init(&cf->streams);
@@ -283,6 +288,7 @@
  	cdi->info.default_samples_per_sec = 8000;
 
 	/* Set the device capabilities here */
+#if USE_AUDIO_SESSION_API != 0
  	cdi->info.caps = PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY |
 			 PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY |
 			 PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING |
@@ -292,6 +298,9 @@
  	cdi->info.routes = PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER |
 			   PJMEDIA_AUD_DEV_ROUTE_EARPIECE |
 			   PJMEDIA_AUD_DEV_ROUTE_BLUETOOTH;
+#else
+        cdi->info.caps = PJMEDIA_AUD_DEV_CAP_EC;
+#endif
 
 	PJ_LOG(4, (THIS_FILE, " dev_id %d: %s  (in=%d, out=%d) %dHz",
 		   i,
@@ -301,23 +310,30 @@
 		   cdi->info.default_samples_per_sec));
     }
 
-    /* Initialize the Audio Session */
-    ostatus = AudioSessionInitialize(NULL, NULL, interruptionListener, NULL);
-    if (ostatus != kAudioSessionNoError) {
-	PJ_LOG(4, (THIS_FILE,
-		   "Warning: cannot initialize audio session services (%i)",
-		   ostatus));
-    }
+#if USE_AUDIO_SESSION_API != 0
+    {
+        OSStatus ostatus;
 
-    /* Listen for audio routing change notifications. */
+        /* Initialize the Audio Session */
+        ostatus = AudioSessionInitialize(NULL, NULL, interruptionListener,
+                                         NULL);
+        if (ostatus != kAudioSessionNoError) {
+            PJ_LOG(4, (THIS_FILE,
+                       "Warning: cannot initialize audio session services (%i)",
+                       ostatus));
+        }
+
+        /* Listen for audio routing change notifications. */
 #if USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER != 0
-    ostatus = AudioSessionAddPropertyListener(
-	          kAudioSessionProperty_AudioRouteChange,
-		  propListener, cf);
-    if (ostatus != kAudioSessionNoError) {
-	PJ_LOG(4, (THIS_FILE,
-		   "Warning: cannot listen for audio route change "
-		   "notifications (%i)", ostatus));
+        ostatus = AudioSessionAddPropertyListener(
+                      kAudioSessionProperty_AudioRouteChange,
+		      propListener, cf);
+        if (ostatus != kAudioSessionNoError) {
+            PJ_LOG(4, (THIS_FILE,
+                       "Warning: cannot listen for audio route change "
+                       "notifications (%i)", ostatus));
+        }
+#endif
     }
 #endif
 
@@ -340,7 +356,7 @@
     pj_assert(pj_list_empty(&cf->streams));
 
 #if !COREAUDIO_MAC
-#if USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER != 0
+#if USE_AUDIO_SESSION_API != 0 && USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER != 0
     AudioSessionRemovePropertyListenerWithUserData(
         kAudioSessionProperty_AudioRouteChange, propListener, cf);
 #endif
@@ -1058,7 +1074,7 @@
     return -1;
 }
 
-#if !COREAUDIO_MAC
+#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0
 static void propListener(void 			*inClientData,
 			 AudioSessionPropertyID	inID,
 			 UInt32                 inDataSize,
@@ -1223,7 +1239,7 @@
 				     AudioUnit *io_unit)
 {
     OSStatus ostatus;
-#if !COREAUDIO_MAC
+#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0
     UInt32 audioCategory = kAudioSessionCategory_PlayAndRecord;
     /* We want to be able to open playback and recording streams */
     ostatus = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
@@ -1699,7 +1715,7 @@
 		strm->param.input_latency_ms++;
 	    }
 	}
-#else
+#elif USE_AUDIO_SESSION_API != 0
 	Float32 latency, latency2;
 	UInt32 size = sizeof(Float32);
 
@@ -1747,7 +1763,7 @@
 		strm->param.output_latency_ms++;
 	    }
 	}
-#else
+#elif USE_AUDIO_SESSION_API != 0
 	Float32 latency, latency2;
 	UInt32 size = sizeof(Float32);
 
@@ -1765,6 +1781,7 @@
 #endif
 	*(unsigned*)pval = (++strm->param.output_latency_ms * 2);
 	return PJ_SUCCESS;
+#if COREAUDIO_MAC || USE_AUDIO_SESSION_API != 0
     } else if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING &&
 	       (strm->param.dir & PJMEDIA_DIR_PLAYBACK))
     {
@@ -1783,7 +1800,7 @@
 	                                &size);
 	if (ostatus != noErr)
 	    return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(ostatus);
-#else
+#elif USE_AUDIO_SESSION_API != 0
 	ostatus = AudioSessionGetProperty(
 		  kAudioSessionProperty_CurrentHardwareOutputVolume,
 		  &size, &volume);
@@ -1794,7 +1811,10 @@
 
 	*(unsigned*)pval = (unsigned)(volume * 100);
 	return PJ_SUCCESS;
+#endif
+
 #if !COREAUDIO_MAC
+#if USE_AUDIO_SESSION_API != 0
     } else if (cap==PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE &&
 	       (strm->param.dir & PJMEDIA_DIR_CAPTURE))
     {
@@ -1836,6 +1856,7 @@
 	CFRelease(route);
 
 	return PJ_SUCCESS;
+#endif
     } else if (cap==PJMEDIA_AUD_DEV_CAP_EC) {
 	AudioComponentDescription desc;
 	OSStatus ostatus;
@@ -1887,8 +1908,35 @@
     }
 
 #else
+    if (cap==PJMEDIA_AUD_DEV_CAP_EC) {
+	AudioComponentDescription desc;
+	AudioComponent io_comp;
+        
+	desc.componentType = kAudioUnitType_Output;
+	desc.componentSubType = (*(pj_bool_t*)pval)?
+        kAudioUnitSubType_VoiceProcessingIO :
+        kAudioUnitSubType_RemoteIO;
+	desc.componentManufacturer = kAudioUnitManufacturer_Apple;
+	desc.componentFlags = 0;
+	desc.componentFlagsMask = 0;
+        
+	io_comp = AudioComponentFindNext(NULL, &desc);
+	if (io_comp == NULL)
+	    return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(-1);
+	strm->cf->io_comp = io_comp;
+	strm->param.ec_enabled = *(pj_bool_t*)pval;
+        
+        PJ_LOG(4, (THIS_FILE, "Using %s audio unit",
+                   (desc.componentSubType ==
+                    kAudioUnitSubType_RemoteIO? "RemoteIO":
+                    "VoiceProcessingIO")));
+        
+	return PJ_SUCCESS;
+    }
 
-    if ((cap==PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY &&
+#if USE_AUDIO_SESSION_API != 0
+
+    else if ((cap==PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY &&
 	 (strm->param.dir & PJMEDIA_DIR_CAPTURE)) ||
 	(cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY &&
 	 (strm->param.dir & PJMEDIA_DIR_PLAYBACK)))
@@ -1948,32 +1996,9 @@
 	}
 	strm->param.output_route = *(pjmedia_aud_dev_route*)pval;
 	return PJ_SUCCESS;
-    } else if (cap==PJMEDIA_AUD_DEV_CAP_EC) {
-	AudioComponentDescription desc;
-	AudioComponent io_comp;
-
-	desc.componentType = kAudioUnitType_Output;
-	desc.componentSubType = (*(pj_bool_t*)pval)?
-				kAudioUnitSubType_VoiceProcessingIO :
-				kAudioUnitSubType_RemoteIO;
-	desc.componentManufacturer = kAudioUnitManufacturer_Apple;
-	desc.componentFlags = 0;
-	desc.componentFlagsMask = 0;
-
-	io_comp = AudioComponentFindNext(NULL, &desc);
-	if (io_comp == NULL)
-	    return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(-1);
-	strm->cf->io_comp = io_comp;
-	strm->param.ec_enabled = *(pj_bool_t*)pval;
-
-        PJ_LOG(4, (THIS_FILE, "Using %s audio unit", 
-                              (desc.componentSubType ==
-                               kAudioUnitSubType_RemoteIO? "RemoteIO":
-                               "VoiceProcessingIO")));
-        
-	return PJ_SUCCESS;
     }
 #endif
+#endif
 
     return PJMEDIA_EAUD_INVCAP;
 }
@@ -2000,7 +2025,7 @@
 	    return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(ostatus);
     }
 
-#if !COREAUDIO_MAC
+#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0
     AudioSessionSetActive(true);
 #endif
     
@@ -2058,7 +2083,7 @@
     }
     pj_mutex_unlock(stream->cf->mutex);
 
-#if !COREAUDIO_MAC
+#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0
     if (should_deactivate)
 	AudioSessionSetActive(false);
 #endif
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/errno.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/errno.c
index 5e93af8..a928485 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/errno.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/errno.c
@@ -1,4 +1,4 @@
-/* $Id: errno.c 4537 2013-06-19 06:47:43Z riza $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  *
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/legacy_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/legacy_dev.c
index 45c6c5d..c189698 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/legacy_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/legacy_dev.c
@@ -1,4 +1,4 @@
-/* $Id: legacy_dev.c 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  *
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/null_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/null_dev.c
index 6426641..01f1051 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/null_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/null_dev.c
@@ -1,4 +1,4 @@
-/* $Id: null_dev.c 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /*
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  *
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/opensl_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/opensl_dev.c
index 31d77f3..a77340b 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/opensl_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/opensl_dev.c
@@ -1,4 +1,4 @@
-/* $Id: opensl_dev.c 4435 2013-03-11 06:32:58Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2010-2012 Regis Montoya (aka r3gis - www.r3gis.fr)
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/pa_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/pa_dev.c
index fb745a9..bfaa5b5 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/pa_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/pa_dev.c
@@ -1,4 +1,4 @@
-/* $Id: pa_dev.c 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp
index 9b60ae1..6ff0856 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp
@@ -1,4 +1,4 @@
-/* $Id: symb_aps_dev.cpp 4243 2012-08-31 11:42:17Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp
index b4a6b9c..645ed39 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp
@@ -1,4 +1,4 @@
-/* $Id: symb_mda_dev.cpp 3841 2011-10-24 09:28:13Z ming $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp
index 70fe3b3..ca421d2 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp
@@ -1,4 +1,4 @@
-/* $Id: symb_vas_dev.cpp 4243 2012-08-31 11:42:17Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com)
  *
diff --git a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/wmme_dev.c b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/wmme_dev.c
index 4ae4835..a73f247 100644
--- a/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/wmme_dev.c
+++ b/jni/pjproject-android/pjmedia/src/pjmedia-audiodev/wmme_dev.c
@@ -1,4 +1,4 @@
-/* $Id: wmme_dev.c 4537 2013-06-19 06:47:43Z riza $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>