Merge branch 'master' of git.linphone.org:linphone into belle-sip

This commit is contained in:
Ghislain MARY 2013-04-22 13:02:27 +02:00
commit 89717feaae
11 changed files with 206 additions and 75 deletions

View file

@ -611,9 +611,6 @@ static void sip_config_read(LinphoneCore *lc)
int ipv6;
int random_port;
tmp=lp_config_get_int(lc->config,"sip","use_info",0);
linphone_core_set_use_info_for_dtmf(lc,tmp);
if (lp_config_get_int(lc->config,"sip","use_session_timers",0)==1){
sal_use_session_timers(lc->sal,200);
}
@ -623,9 +620,6 @@ static void sip_config_read(LinphoneCore *lc)
sal_reuse_authorization(lc->sal, lp_config_get_int(lc->config,"sip","reuse_authorization",0));
sal_expire_old_registration_contacts(lc->sal,lp_config_get_int(lc->config,"sip","expire_old_registration_contacts",0));
tmp=lp_config_get_int(lc->config,"sip","use_rfc2833",1);
linphone_core_set_use_rfc2833_for_dtmf(lc,tmp);
ipv6=lp_config_get_int(lc->config,"sip","use_ipv6",-1);
if (ipv6==-1){
ipv6=0;
@ -1304,6 +1298,8 @@ static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vta
linphone_core_assign_payload_type(lc,&payload_type_silk_wb,-1,NULL);
linphone_core_assign_payload_type(lc,&payload_type_silk_swb,-1,NULL);
linphone_core_assign_payload_type(lc,&payload_type_g729,18,"annexb=no");
linphone_core_assign_payload_type(lc,&payload_type_aaceld_22k,-1,"config=F8EE2000; constantDuration=512; indexDeltaLength=3; indexLength=3; mode=AAC-hbr; profile-level-id=24; sizeLength=13; streamType=5");
linphone_core_assign_payload_type(lc,&payload_type_aaceld_44k,-1,"config=F8E82000; constantDuration=512; indexDeltaLength=3; indexLength=3; mode=AAC-hbr; profile-level-id=24; sizeLength=13; streamType=5");
linphone_core_handle_static_payloads(lc);
ms_init();
@ -1737,7 +1733,7 @@ void linphone_core_set_nortp_timeout(LinphoneCore *lc, int nortp_timeout){
**/
bool_t linphone_core_get_use_info_for_dtmf(LinphoneCore *lc)
{
return lc->sip_conf.use_info;
return lp_config_get_int(lc->config, "sip", "use_info", 0);
}
/**
@ -1747,7 +1743,9 @@ bool_t linphone_core_get_use_info_for_dtmf(LinphoneCore *lc)
**/
void linphone_core_set_use_info_for_dtmf(LinphoneCore *lc,bool_t use_info)
{
lc->sip_conf.use_info=use_info;
if (linphone_core_ready()) {
lp_config_set_int(lc->config, "sip", "use_info", use_info);
}
}
/**
@ -1757,7 +1755,7 @@ void linphone_core_set_use_info_for_dtmf(LinphoneCore *lc,bool_t use_info)
**/
bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore *lc)
{
return lc->sip_conf.use_rfc2833;
return lp_config_get_int(lc->config, "sip", "use_rfc2833", 1);
}
/**
@ -1767,7 +1765,9 @@ bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore *lc)
**/
void linphone_core_set_use_rfc2833_for_dtmf(LinphoneCore *lc,bool_t use_rfc2833)
{
lc->sip_conf.use_rfc2833=use_rfc2833;
if (linphone_core_ready()) {
lp_config_set_int(lc->config, "sip", "use_rfc2833", use_rfc2833);
}
}
/**
@ -5186,8 +5186,6 @@ void sip_config_uninit(LinphoneCore *lc)
lp_config_set_int(lc->config,"sip","inc_timeout",config->inc_timeout);
lp_config_set_int(lc->config,"sip","in_call_timeout",config->in_call_timeout);
lp_config_set_int(lc->config,"sip","delayed_timeout",config->delayed_timeout);
lp_config_set_int(lc->config,"sip","use_info",config->use_info);
lp_config_set_int(lc->config,"sip","use_rfc2833",config->use_rfc2833);
lp_config_set_int(lc->config,"sip","use_ipv6",config->ipv6_enabled);
lp_config_set_int(lc->config,"sip","register_only_when_network_is_up",config->register_only_when_network_is_up);
lp_config_set_int(lc->config,"sip","register_only_when_upnp_is_ok",config->register_only_when_upnp_is_ok);

View file

@ -2159,6 +2159,14 @@ extern "C" jint Java_org_linphone_core_LinphoneCallImpl_getDuration(JNIEnv* env
return (jint)linphone_call_get_duration((LinphoneCall *) ptr);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setSipDscp(JNIEnv* env,jobject thiz,jlong ptr, jint dscp){
linphone_core_set_sip_dscp((LinphoneCore*)ptr,dscp);
}
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getSipDscp(JNIEnv* env,jobject thiz,jlong ptr){
return linphone_core_get_sip_dscp((LinphoneCore*)ptr);
}
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getSignalingTransportPort(JNIEnv* env,jobject thiz,jlong ptr, jint code) {
LCSipTransports tr;
linphone_core_get_sip_transports((LinphoneCore *) ptr, &tr);
@ -2463,6 +2471,22 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setVideoPortRange(JNIEnv
linphone_core_set_video_port_range((LinphoneCore *)lc, min_port, max_port);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAudioDscp(JNIEnv* env,jobject thiz,jlong ptr, jint dscp){
linphone_core_set_audio_dscp((LinphoneCore*)ptr,dscp);
}
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getAudioDscp(JNIEnv* env,jobject thiz,jlong ptr){
return linphone_core_get_audio_dscp((LinphoneCore*)ptr);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setVideoDscp(JNIEnv* env,jobject thiz,jlong ptr, jint dscp){
linphone_core_set_video_dscp((LinphoneCore*)ptr,dscp);
}
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getVideoDscp(JNIEnv* env,jobject thiz,jlong ptr){
return linphone_core_get_video_dscp((LinphoneCore*)ptr);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setIncomingTimeout(JNIEnv *env, jobject thiz, jlong lc, jint timeout) {
linphone_core_set_inc_timeout((LinphoneCore *)lc, timeout);
}

View file

@ -447,8 +447,6 @@ typedef struct sip_config
int delayed_timeout; /*timeout after a delayed call is resumed */
unsigned int keepalive_period; /* interval in ms between keep alive messages sent to the proxy server*/
LCSipTransports transports;
bool_t use_info;
bool_t use_rfc2833; /*force RFC2833 to be sent*/
bool_t guess_hostname;
bool_t loopback_only;
bool_t ipv6_enabled;

View file

@ -1771,6 +1771,26 @@ static bool_t comes_from_local_if(osip_message_t *msg){
static const char *days[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
static const char *months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
static int utc_offset() {
time_t ref = 24 * 60 * 60L;
struct tm * timeptr;
int gmtime_hours;
/* get the local reference time for Jan 2, 1900 00:00 UTC */
timeptr = localtime(&ref);
gmtime_hours = timeptr->tm_hour;
/* if the local time is the "day before" the UTC, subtract 24 hours
from the hours to get the UTC offset */
if (timeptr->tm_mday < 2) gmtime_hours -= 24;
return gmtime_hours;
}
time_t mktime_utc(struct tm *timeptr) {
return mktime(timeptr) + utc_offset() * 3600;
}
static void text_received(Sal *sal, eXosip_event_t *ev){
osip_body_t *body=NULL;
char *from=NULL,*msg=NULL;
@ -1842,7 +1862,7 @@ static void text_received(Sal *sal, eXosip_event_t *ev){
salmsg.text=msg;
salmsg.url=external_body_size>0 ? unquoted_external_body_url : NULL;
salmsg.message_id=message_id;
salmsg.time=date!=NULL ? mktime(&ret) : time(NULL);
salmsg.time=date!=NULL ? mktime_utc(&ret) : time(NULL);
sal->callbacks.text_received(op,&salmsg);
sal_op_release(op);
osip_free(from);
@ -2297,7 +2317,7 @@ static void register_set_contact(osip_message_t *msg, const char *contact){
osip_uri_uparam_add(ct->url,osip_strdup("line"),line);
}
static void sal_register_add_route(osip_message_t *msg, const char *proxy){
void sal_message_add_route(osip_message_t *msg, const char *proxy){
osip_route_t *route;
osip_list_special_free(&msg->routes,(void (*)(void*))osip_route_free);
@ -2344,7 +2364,7 @@ int sal_register(SalOp *h, const char *proxy, const char *from, int expires){
h->rid=eXosip_register_build_initial_register(from,domain,NULL,expires,&msg);
if (msg){
if (contact) register_set_contact(msg,contact);
sal_register_add_route(msg,proxy);
sal_message_add_route(msg,proxy);
sal_add_register(h->base.root,h);
}else{
ms_error("Could not build initial register.");
@ -2354,7 +2374,7 @@ int sal_register(SalOp *h, const char *proxy, const char *from, int expires){
}else{
eXosip_lock();
eXosip_register_build_register(h->rid,expires,&msg);
sal_register_add_route(msg,proxy);
sal_message_add_route(msg,proxy);
}
if (msg){
eXosip_register_send_register(h->rid,msg);
@ -2392,7 +2412,7 @@ int sal_register_refresh(SalOp *op, int expires){
eXosip_register_build_register(op->rid,expires,&msg);
if (msg!=NULL){
if (contact) register_set_contact(msg,contact);
sal_register_add_route(msg,sal_op_get_route(op));
sal_message_add_route(msg,sal_op_get_route(op));
eXosip_register_send_register(op->rid,msg);
}else ms_error("Could not build REGISTER refresh message.");
eXosip_unlock();

View file

@ -99,4 +99,6 @@ SalCustomHeader * sal_exosip_get_custom_headers(osip_message_t *msg);
void _osip_list_set_empty(osip_list_t *l, void (*freefunc)(void*));
void sal_message_add_route(osip_message_t *msg, const char *proxy);
#endif

View file

@ -637,23 +637,26 @@ int sal_publish(SalOp *op, const char *from, const char *to, SalPresenceStatus p
osip_message_t *pub;
int i;
char buf[1024];
const char *route=sal_op_get_route(op);
mk_presence_body (presence_mode, from, buf, sizeof (buf), presence_style);
i = eXosip_build_publish(&pub,from, to, sal_op_get_route(op), "presence", "300",
i = eXosip_build_publish(&pub,to, from, NULL, "presence", "600",
presence_style ? "application/xpidf+xml" : "application/pidf+xml", buf);
if (i<0){
ms_warning("Failed to build publish request.");
return -1;
}
if (route)
sal_message_add_route(pub,route);
eXosip_lock();
i = eXosip_publish(pub, to); /* should update the sip-if-match parameter
from sip-etag from last 200ok of PUBLISH */
eXosip_unlock();
if (i<0){
ms_message("Failed to send publish request.");
return -1;
ms_message("Failed to send publish request.");
return -1;
}
sal_add_other(sal_op_get_sal(op),op,pub);
return 0;

View file

@ -61,12 +61,17 @@ void linphone_gtk_quit_chatroom(LinphoneChatRoom *cr) {
GtkWidget *nb=linphone_gtk_get_widget(main_window,"viewswitch");
GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
GtkWidget *w=g_object_get_data(G_OBJECT(friendlist),"chatview");
gchar *from;
g_return_if_fail(w!=NULL);
gtk_notebook_remove_page(GTK_NOTEBOOK(nb),gtk_notebook_page_num(GTK_NOTEBOOK(nb),w));
linphone_gtk_friend_list_update_chat_picture();
g_object_set_data(G_OBJECT(friendlist),"chatview",NULL);
g_object_set_data(G_OBJECT(w),"from_message",NULL);
from=g_object_get_data(G_OBJECT(w),"from_message");
if (from){
g_object_set_data(G_OBJECT(w),"from_message",NULL);
g_free(from);
}
g_object_set_data(G_OBJECT(w),"cr",NULL);
g_object_set_data(G_OBJECT(friendlist),"from",NULL);
gtk_widget_destroy(w);
@ -128,7 +133,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
GtkTextIter iter,begin;
int off;
char *from_str=linphone_address_as_string_uri_only(from);
char *from_message=(char *)g_object_get_data(G_OBJECT(w),"from_message");
gchar *from_message=(gchar *)g_object_get_data(G_OBJECT(w),"from_message");
GList *list=g_object_get_data(G_OBJECT(w),"list");
time_t t;
char buf[80];
@ -148,12 +153,13 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter," : ",-1,"bold",me ? "bg":NULL,NULL);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
g_object_set_data(G_OBJECT(w),"from_message",from_str);
g_free(from_message);
g_object_set_data(G_OBJECT(w),"from_message",g_strdup(from_str));
}
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,linphone_chat_message_get_text(msg),-1,"margin",me ? "bg":NULL,NULL);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert(buffer,&iter,"\n",-1);;
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
gtk_text_buffer_get_end_iter(buffer,&iter);
t=linphone_chat_message_get_time(msg);
switch (linphone_chat_message_get_state (msg)){
@ -192,6 +198,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
GtkTextMark *mark=gtk_text_buffer_create_mark(buffer,NULL,&iter,FALSE);
gtk_text_view_scroll_mark_onscreen(text,mark);
ms_free(from_str);
}
const LinphoneAddress* linphone_gtk_get_used_identity(){
@ -260,9 +267,9 @@ static void on_chat_state_changed(LinphoneChatMessage *msg, LinphoneChatMessageS
}
void linphone_gtk_send_text(){
GtkWidget *main_window=linphone_gtk_get_main_window();
GtkWidget *main_window=linphone_gtk_get_main_window();
GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
GtkWidget *w=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
GtkWidget *w=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
GtkWidget *entry=linphone_gtk_get_widget(w,"text_entry");
const gchar *entered;
LinphoneChatRoom *cr=g_object_get_data(G_OBJECT(w),"cr");
@ -271,7 +278,7 @@ void linphone_gtk_send_text(){
LinphoneChatMessage *msg;
msg=linphone_chat_room_create_message(cr,entered);
linphone_chat_room_send_message2(cr,msg,on_chat_state_changed,NULL);
linphone_gtk_push_text(w,linphone_gtk_get_used_identity(),
linphone_gtk_push_text(w,linphone_chat_message_get_from(msg),
TRUE,cr,msg,FALSE);
gtk_entry_set_text(GTK_ENTRY(entry),"");
}
@ -291,6 +298,7 @@ void display_history_message(GtkWidget *chat_view,MSList *messages,const Linphon
MSList *it;
char *from_str;
char *with_str;
gchar *tmp;
for(it=messages;it!=NULL;it=it->next){
LinphoneChatMessage *msg=(LinphoneChatMessage *)it->data;
from_str=linphone_address_as_string_uri_only(linphone_chat_message_get_from(msg));
@ -300,7 +308,11 @@ void display_history_message(GtkWidget *chat_view,MSList *messages,const Linphon
strcmp(from_str,with_str)==0? FALSE : TRUE,
linphone_chat_message_get_chat_room(msg),msg,TRUE);
}
g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
tmp=g_object_get_data(G_OBJECT(chat_view),"from_message");
if (tmp){
g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
g_free(tmp);
}
ms_free(from_str);
ms_free(with_str);
linphone_gtk_free_list(messages);
@ -419,7 +431,7 @@ void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri,
g_object_set_data(G_OBJECT(chat_view),"cr",cr);
g_object_set_data(G_OBJECT(linphone_gtk_get_widget(main_window,"contact_list")),"chatview",(gpointer)chat_view);
messages=linphone_chat_room_get_history(cr,NB_MSG_HIST);
g_object_set_data(G_OBJECT(chat_view),"from_message",uri_str);
g_object_set_data(G_OBJECT(chat_view),"from_message",g_strdup(uri_str));
display_history_message(chat_view,messages,uri);
}
ms_free(from_str);
@ -438,58 +450,57 @@ void linphone_gtk_chat_close(GtkWidget *button){
}
void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room,
LinphoneChatMessage *msg){
void linphone_gtk_text_received ( LinphoneCore *lc, LinphoneChatRoom *room,
LinphoneChatMessage *msg ) {
GtkWidget *main_window=linphone_gtk_get_main_window();
GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
GtkWidget *w;
GtkWidget *friendlist=linphone_gtk_get_widget ( main_window,"contact_list" );
GtkWidget *w;
gboolean send=TRUE;
GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(main_window,"viewswitch");
char *from=linphone_address_as_string(linphone_chat_message_get_from(msg));
w=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
if(w!=NULL){
char *from_chatview=(char *)g_object_get_data(G_OBJECT(friendlist),"from");
if(g_strcmp0(from,from_chatview)==0){
GtkNotebook *notebook= ( GtkNotebook * ) linphone_gtk_get_widget ( main_window,"viewswitch" );
char *from=linphone_address_as_string ( linphone_chat_message_get_from ( msg ) );
w= ( GtkWidget* ) g_object_get_data ( G_OBJECT ( friendlist ),"chatview" );
if ( w!=NULL ) {
char *from_chatview= ( char * ) g_object_get_data ( G_OBJECT ( friendlist ),"from" );
if ( g_strcmp0 ( from,from_chatview ) ==0 ) {
send=TRUE;
} else {
if(!linphone_gtk_friend_list_is_contact(linphone_chat_message_get_from(msg))){
linphone_gtk_chat_add_contact(linphone_chat_message_get_from(msg));
}
if ( !linphone_gtk_friend_list_is_contact ( linphone_chat_message_get_from ( msg ) ) ) {
linphone_gtk_chat_add_contact ( linphone_chat_message_get_from ( msg ) );
}
send=FALSE;
}
} else {
}
} else {
send=FALSE;
if(!linphone_gtk_friend_list_is_contact(linphone_chat_message_get_from(msg))){
linphone_gtk_chat_add_contact(linphone_chat_message_get_from(msg));
}
w=linphone_gtk_init_chatroom(room,linphone_chat_message_get_from(msg));
g_object_set_data(G_OBJECT(friendlist),"chatview",(gpointer)w);
g_object_set_data(G_OBJECT(friendlist),"from",from);
}
get_display_name(linphone_chat_message_get_from(msg));
#ifdef HAVE_GTK_OSXs
if ( !linphone_gtk_friend_list_is_contact ( linphone_chat_message_get_from ( msg ) ) ) {
linphone_gtk_chat_add_contact ( linphone_chat_message_get_from ( msg ) );
}
w=linphone_gtk_init_chatroom ( room,linphone_chat_message_get_from ( msg ) );
g_object_set_data ( G_OBJECT ( friendlist ),"chatview", ( gpointer ) w );
g_object_set_data ( G_OBJECT ( friendlist ),"from",from );
}
#ifdef HAVE_GTK_OSXs
/* Notified when a new message is sent */
linphone_gtk_status_icon_set_blinking(TRUE);
#else
if(!gtk_window_is_active(GTK_WINDOW(main_window))){
if(!GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"is_notified"))){
linphone_gtk_notify(NULL,linphone_chat_message_get_text(msg));
g_object_set_data(G_OBJECT(w),"is_notified",GINT_TO_POINTER(TRUE));
linphone_gtk_status_icon_set_blinking ( TRUE );
#else
if ( !gtk_window_is_active ( GTK_WINDOW ( main_window ) ) ) {
if ( !GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT ( w ),"is_notified" ) ) ) {
linphone_gtk_notify ( NULL,linphone_chat_message_get_text ( msg ) );
g_object_set_data ( G_OBJECT ( w ),"is_notified",GINT_TO_POINTER ( TRUE ) );
} else {
g_object_set_data(G_OBJECT(w),"is_notified",GINT_TO_POINTER(FALSE));
g_object_set_data ( G_OBJECT ( w ),"is_notified",GINT_TO_POINTER ( FALSE ) );
}
}
#endif
if(send){
if(gtk_notebook_get_current_page(notebook)!=gtk_notebook_page_num(notebook,w)){
#endif
if ( send ) {
if ( gtk_notebook_get_current_page ( notebook ) !=gtk_notebook_page_num ( notebook,w ) ) {
linphone_gtk_show_friends();
} else {
linphone_chat_room_mark_as_read(room);
linphone_chat_room_mark_as_read ( room );
}
linphone_gtk_push_text(w,linphone_chat_message_get_from(msg),
FALSE,room,msg,FALSE);
linphone_gtk_push_text ( w,linphone_chat_message_get_from ( msg ),
FALSE,room,msg,FALSE );
} else {
linphone_gtk_show_friends();
}

View file

@ -637,6 +637,20 @@ public interface LinphoneCore {
* @return transports used for signaling (TCP, UDP, TLS)
*/
Transports getSignalingTransportPorts();
/**
* Assign a dscp value for the SIP socket.
* DSCP is an IP packet field used to indicate the type of routing service to routers.
* @param dscp
*/
void setSipDscp(int dscp);
/**
* Get DSCP used for SIP socket.
* @return the DSCP value used for the SIP socket.
*/
int getSipDscp();
/**
* Activates or deactivates the speaker.
* @param value
@ -1146,6 +1160,19 @@ public interface LinphoneCore {
*/
void setAudioPortRange(int minPort, int maxPort);
/**
* Assign a DSCP value to the audio RTP sockets.
* @param dscp the DSCP value.
* DSCP is an IP header field used to indicate a type of service to routers.
*/
void setAudioDscp(int dscp);
/**
* Return DSCP value used for the audio RTP sockets.
* @return the DSCP value used for the audio RTP sockets.
*/
int getAudioDscp();
/**
* Sets the UDP port used for video streaming.
**/
@ -1156,6 +1183,19 @@ public interface LinphoneCore {
*/
void setVideoPortRange(int minPort, int maxPort);
/**
* Assign a DSCP value to the video RTP sockets.
* @param dscp the DSCP value.
* DSCP is an IP header field used to indicate a type of service to routers.
*/
void setVideoDscp(int dscp);
/**
* Return DSCP value used for the video RTP sockets.
* @return the DSCP value used for the video RTP sockets.
*/
int getVideoDscp();
/**
* Set the incoming call timeout in seconds.
* If an incoming call isn't answered for this timeout period, it is

View file

@ -913,4 +913,39 @@ class LinphoneCoreImpl implements LinphoneCore {
public PayloadType findPayloadType(String mime) {
return findPayloadType(mime, FIND_PAYLOAD_IGNORE_RATE);
}
private native void setSipDscp(long nativePtr, int dscp);
@Override
public void setSipDscp(int dscp) {
setSipDscp(nativePtr,dscp);
}
private native int getSipDscp(long nativePtr);
@Override
public int getSipDscp() {
return getSipDscp(nativePtr);
}
private native void setAudioDscp(long nativePtr, int dscp);
@Override
public void setAudioDscp(int dscp) {
setAudioDscp(nativePtr, dscp);
}
private native int getAudioDscp(long nativePtr);
@Override
public int getAudioDscp() {
return getAudioDscp(nativePtr);
}
private native void setVideoDscp(long nativePtr, int dscp);
@Override
public void setVideoDscp(int dscp) {
setVideoDscp(nativePtr,dscp);
}
private native int getVideoDscp(long nativePtr);
@Override
public int getVideoDscp() {
return getVideoDscp(nativePtr);
}
}

@ -1 +1 @@
Subproject commit 4f93003c1eade1442fdedd8dee10f18c98ec47c3
Subproject commit 2720ab1d1568ced6f0bf63e454a35f340d8ace64

2
oRTP

@ -1 +1 @@
Subproject commit 1172caa98c7fc70d98bf6e508699a9bead5e9592
Subproject commit bd64df5148bdfd4a2ff5153927676fc497118279