--- orig/coreapi/linphonecore.c 2010-06-30 18:38:27.000000000 +0800 +++ linphone-3.3.2/coreapi/linphonecore.c 2010-07-22 15:12:57.976803958 +0800 @@ -723,6 +723,7 @@ lc->sip_conf.auto_net_state_mon=lp_config_get_int(lc->config,"sip","auto_net_state_mon",1); lc->sip_conf.keepalive_period=lp_config_get_int(lc->config,"sip","keepalive_period",10000); sal_set_keepalive_period(lc->sal,lc->sip_conf.keepalive_period); + sal_set_dont_send_101(); } static void rtp_config_read(LinphoneCore *lc) --- orig/coreapi/sal_eXosip2.c 2010-06-23 21:41:35.000000000 +0800 +++ linphone-3.3.2/coreapi/sal_eXosip2.c 2010-07-22 15:10:26.890152940 +0800 @@ -1764,6 +1764,12 @@ ctx->keepalive_period=value; eXosip_set_option (EXOSIP_OPT_UDP_KEEP_ALIVE, &value); } + +void sal_set_dont_send_101(void) { + int on = 1; + eXosip_set_option ( EXOSIP_OPT_DONT_SEND_101, &on); +} + const char * sal_address_get_port(const SalAddress *addr) { const osip_from_t *u=(const osip_from_t*)addr; return null_if_empty(u->url->port); --- orig/coreapi/sal.h 2010-06-22 16:43:01.000000000 +0800 +++ linphone-3.3.2/coreapi/sal.h 2010-07-22 15:12:42.263672417 +0800 @@ -233,6 +233,7 @@ void sal_set_user_agent(Sal *ctx, const char *user_agent); /*keepalive period in ms*/ void sal_set_keepalive_period(Sal *ctx,unsigned int value); +void sal_set_dont_send_101(void); void sal_use_session_timers(Sal *ctx, int expires); int sal_iterate(Sal *sal); MSList * sal_get_pending_auths(Sal *sal);