diff --git a/.gitmodules b/.gitmodules
index 8ba0b2856..48fa6c484 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -46,3 +46,6 @@
[submodule "submodules/externals/srtp"]
path = submodules/externals/srtp
url = git://git.linphone.org/srtp.git
+[submodule "submodules/bcg729"]
+ path = submodules/bcg729
+ url = git://git.linphone.org/bcg729.git
diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m
index 52d29b56b..000ccd476 100644
--- a/Classes/LinphoneAppDelegate.m
+++ b/Classes/LinphoneAppDelegate.m
@@ -107,7 +107,9 @@
#ifdef HAVE_AMR
@"YES",@"amr_8k_preference", // enable amr by default if compiled with
#endif
- @"NO",@"debugenable_preference",
+#ifdef HAVE_G729
+ @"YES",@"g729_preference", // enable amr by default if compiled with
+#endif @"NO",@"debugenable_preference",
//@"+33",@"countrycode_preference",
nil];
diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m
index dcbb3af1a..295aa96c0 100644
--- a/Classes/LinphoneUI/LinphoneManager.m
+++ b/Classes/LinphoneUI/LinphoneManager.m
@@ -46,6 +46,9 @@ extern void libmsx264_init();
extern void libmssilk_init();
#endif
+#if HAVE_G729
+extern void libmsbcg729_init();
+#endif
@implementation LinphoneManager
@synthesize callDelegate;
@synthesize registrationDelegate;
@@ -623,6 +626,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
[self configurePayloadType:"PCMU" fromPrefKey:@"pcmu_preference" withRate:8000];
[self configurePayloadType:"PCMA" fromPrefKey:@"pcma_preference" withRate:8000];
[self configurePayloadType:"G722" fromPrefKey:@"g722_preference" withRate:8000];
+ [self configurePayloadType:"G729" fromPrefKey:@"g729_preference" withRate:8000];
//get video codecs from linphonerc
const MSList *videoCodecs=linphone_core_get_video_codecs(theLinphoneCore);
@@ -791,6 +795,10 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
#ifdef HAVE_X264
libmsx264_init(); //load x264 plugin if present from the liblinphone sdk
#endif
+
+#if HAVE_G729
+ libmsbcg729_init(); // load g729 plugin
+#endif
/* Initialize linphone core*/
theLinphoneCore = linphone_core_new (&linphonec_vtable
diff --git a/PhoneMainView.xib b/PhoneMainView.xib
index 3953ea8da..b4c3174c1 100644
--- a/PhoneMainView.xib
+++ b/PhoneMainView.xib
@@ -47,6 +47,7 @@
{320, 480}
+