diff --git a/src/mod/endpoints/mod_skypiax/mod_skypiax.c b/src/mod/endpoints/mod_skypiax/mod_skypiax.c
index bfcb45a1c1..e66abbded2 100644
--- a/src/mod/endpoints/mod_skypiax/mod_skypiax.c
+++ b/src/mod/endpoints/mod_skypiax/mod_skypiax.c
@@ -902,7 +902,7 @@ size_t bytes_read;
 
 
 	if (!tech_pvt->read_buffer) {
-		int32_t len = 640 * 8;
+		int32_t len = 640 * 2;
 
 		switch_buffer_create(skypiax_module_pool, &tech_pvt->read_buffer, len);
 		switch_assert(tech_pvt->read_buffer);
@@ -1048,7 +1048,7 @@ static switch_status_t channel_write_frame(switch_core_session_t *session, switc
 #endif
 
 	if (!tech_pvt->write_buffer) {
-		int32_t len = 320 * 8;
+		int32_t len = 320 * 4;
 
 		switch_buffer_create(skypiax_module_pool, &tech_pvt->write_buffer, len);
 		switch_assert(tech_pvt->write_buffer);
diff --git a/src/mod/endpoints/mod_skypiax/skypiax_protocol.c b/src/mod/endpoints/mod_skypiax/skypiax_protocol.c
index 2942cc5241..1ae79ebd42 100644
--- a/src/mod/endpoints/mod_skypiax/skypiax_protocol.c
+++ b/src/mod/endpoints/mod_skypiax/skypiax_protocol.c
@@ -500,6 +500,10 @@ int skypiax_signaling_read(private_t * tech_pvt)
 				if (!strcasecmp(prop, "FAILUREREASON")) {
 					DEBUGA_SKYPE("Skype FAILED on skype_call %s. Let's wait for the FAILED message.\n", SKYPIAX_P_LOG, id);
 				}
+				if (!strcasecmp(prop, "DURATION")) { /* each second, we sync ithe timers */
+					switch_core_timer_sync(&tech_pvt->timer_read);
+					switch_core_timer_sync(&tech_pvt->timer_write);
+				}
 				if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) {
 					if (strcasecmp(id, tech_pvt->skype_call_id)) {
 						skypiax_strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);