Merge branch 'master' into dev_bb10
Conflicts: mediastreamer2 oRTP
|
|
@ -40,7 +40,7 @@ Install `GTK`. It is recommended to use the `quartz` backend for better integrat
|
|||
##### Linphone library (liblinphone)
|
||||
|
||||
brew install intltool libtool wget pkg-config automake libantlr3.4c \
|
||||
antlr gettext speex ffmpeg readline libvpx opus
|
||||
homebrew/versions/antlr3 gettext speex ffmpeg readline libvpx opus
|
||||
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
|
||||
brew link --force gettext
|
||||
#readline is required from linphonec.c otherwise compilation will fail
|
||||
|
|
|
|||
|
|
@ -175,10 +175,10 @@
|
|||
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
|
||||
</Link>
|
||||
<PreBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">version.bat</Command>
|
||||
<Command>version.bat</Command>
|
||||
</PreBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Batch script to get the git version</Message>
|
||||
<Message>Batch script to get the git version</Message>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
|
|
|||
|
|
@ -632,7 +632,7 @@ AC_ARG_ENABLE(zrtp,
|
|||
|
||||
dnl this options are just for passing to mediastreamer2 subproject
|
||||
AC_ARG_ENABLE(dtls,
|
||||
[AS_HELP_STRING([--enable-dtls], [Turn on dtls support - requires polarssl > 1.4])],
|
||||
[AS_HELP_STRING([--enable-dtls], [Turn on srtp-dtls support - requires polarssl > 1.4])],
|
||||
[case "${enableval}" in
|
||||
yes) dtls=true ;;
|
||||
no) dtls=false ;;
|
||||
|
|
|
|||
|
|
@ -2376,12 +2376,12 @@ static int lpc_cmd_rtp_no_xmit_on_audio_mute(LinphoneCore *lc, char *args)
|
|||
#ifdef VIDEO_ENABLED
|
||||
static int _lpc_cmd_video_window(LinphoneCore *lc, char *args, bool_t is_preview){
|
||||
char subcommand[64];
|
||||
int a,b;
|
||||
long a,b;
|
||||
int err;
|
||||
VideoParams *params=is_preview ? &lpc_preview_params : &lpc_video_params;
|
||||
|
||||
if (!args) return 0;
|
||||
err=sscanf(args,"%63s %i %i",subcommand,&a,&b);
|
||||
err=sscanf(args,"%63s %ld %ld",subcommand,&a,&b);
|
||||
if (err>=1){
|
||||
if (strcmp(subcommand,"pos")==0){
|
||||
if (err<3) return 0;
|
||||
|
|
@ -2403,15 +2403,15 @@ static int _lpc_cmd_video_window(LinphoneCore *lc, char *args, bool_t is_preview
|
|||
if (is_preview) linphone_core_enable_video_preview (lc,FALSE);
|
||||
}else if (strcmp(subcommand,"id")==0){
|
||||
if (err == 1){
|
||||
linphonec_out("vwindow id: 0x%x\n",is_preview ? linphone_core_get_native_preview_window_id (lc) :
|
||||
linphonec_out("vwindow id: 0x%p\n",is_preview ? linphone_core_get_native_preview_window_id (lc) :
|
||||
linphone_core_get_native_video_window_id (lc));
|
||||
return 1;
|
||||
} else if (err != 2) return 0;
|
||||
params->wid=a;
|
||||
params->wid=(void *)a;
|
||||
if (is_preview)
|
||||
linphone_core_set_native_preview_window_id (lc,a);
|
||||
linphone_core_set_native_preview_window_id(lc, (void *)a);
|
||||
else
|
||||
linphone_core_set_native_video_window_id(lc,a);
|
||||
linphone_core_set_native_video_window_id(lc, (void *)a);
|
||||
}else if (is_preview==TRUE){
|
||||
if (strcmp(subcommand,"integrated")==0){
|
||||
linphone_core_use_preview_window (lc,FALSE);
|
||||
|
|
|
|||
|
|
@ -65,15 +65,6 @@
|
|||
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
#include <libintl.h>
|
||||
#ifndef _
|
||||
#define _(String) gettext(String)
|
||||
#endif
|
||||
#else
|
||||
#define _(something) (something)
|
||||
#endif
|
||||
|
||||
#ifndef PACKAGE_DIR
|
||||
#define PACKAGE_DIR ""
|
||||
#endif
|
||||
|
|
@ -164,7 +155,7 @@ static char zrtpsecrets[PATH_MAX];
|
|||
static char usr_certificates_path[PATH_MAX];
|
||||
static const char *factory_configfile_name=NULL;
|
||||
static char *sip_addr_to_call = NULL; /* for autocall */
|
||||
static int window_id = 0; /* 0=standalone window, or window id for embedding video */
|
||||
static void *window_id = NULL; /* NULL=standalone window, or window id for embedding video */
|
||||
#if !defined(_WIN32_WCE)
|
||||
static ortp_pipe_t client_sock=ORTP_PIPE_INVALID;
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
|
@ -714,16 +705,6 @@ linphonec_init(int argc, char **argv)
|
|||
default:
|
||||
break;
|
||||
}
|
||||
#ifdef ENABLE_NLS
|
||||
if (NULL == bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR))
|
||||
perror ("bindtextdomain failed");
|
||||
#ifndef __ARM__
|
||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||
#endif
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
#else
|
||||
printf ("NLS disabled.\n");
|
||||
#endif
|
||||
|
||||
linphonec_parse_cmdline(argc, argv);
|
||||
|
||||
|
|
@ -759,9 +740,9 @@ linphonec_init(int argc, char **argv)
|
|||
linphone_core_set_user_certificates_path(linphonec,usr_certificates_path);
|
||||
linphone_core_enable_video_capture(linphonec, vcap_enabled);
|
||||
linphone_core_enable_video_display(linphonec, display_enabled);
|
||||
if (display_enabled && window_id != 0)
|
||||
if (display_enabled && (window_id != NULL))
|
||||
{
|
||||
printf("Setting window_id: 0x%x\n", window_id);
|
||||
printf("Setting window_id: 0x%p\n", window_id);
|
||||
linphone_core_set_native_video_window_id(linphonec,window_id);
|
||||
}
|
||||
|
||||
|
|
@ -985,28 +966,29 @@ static void x11_apply_video_params(VideoParams *params, Window window){
|
|||
|
||||
|
||||
static void lpc_apply_video_params(){
|
||||
static unsigned long old_wid=0,old_pwid=0;
|
||||
unsigned long wid=linphone_core_get_native_video_window_id (linphonec);
|
||||
unsigned long pwid=linphone_core_get_native_preview_window_id (linphonec);
|
||||
static void *old_wid=NULL;
|
||||
static void *old_pwid=NULL;
|
||||
void *wid=linphone_core_get_native_video_window_id(linphonec);
|
||||
void *pwid=linphone_core_get_native_preview_window_id(linphonec);
|
||||
|
||||
if (wid!=0 && (lpc_video_params.refresh || old_wid!=wid)){
|
||||
if (wid!=NULL && (lpc_video_params.refresh || old_wid!=wid)){
|
||||
lpc_video_params.refresh=FALSE;
|
||||
#ifdef HAVE_X11_XLIB_H
|
||||
if (lpc_video_params.wid==0){ // do not manage window if embedded
|
||||
x11_apply_video_params(&lpc_video_params,wid);
|
||||
x11_apply_video_params(&lpc_video_params,(Window)wid);
|
||||
} else {
|
||||
linphone_core_show_video(linphonec, lpc_video_params.show);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
old_wid=wid;
|
||||
if (pwid!=0 && (lpc_preview_params.refresh || old_pwid!=pwid)){
|
||||
if (pwid!=NULL && (lpc_preview_params.refresh || old_pwid!=pwid)){
|
||||
lpc_preview_params.refresh=FALSE;
|
||||
#ifdef HAVE_X11_XLIB_H
|
||||
/*printf("wid=%lu pwid=%lu\n",wid,pwid);*/
|
||||
if (lpc_preview_params.wid==0){ // do not manage window if embedded
|
||||
/*printf("wid=%p pwid=%p\n",wid,pwid);*/
|
||||
if (lpc_preview_params.wid==NULL){ // do not manage window if embedded
|
||||
printf("Refreshing\n");
|
||||
x11_apply_video_params(&lpc_preview_params,pwid);
|
||||
x11_apply_video_params(&lpc_preview_params,(Window)pwid);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
@ -1303,7 +1285,7 @@ linphonec_parse_cmdline(int argc, char **argv)
|
|||
arg_num++;
|
||||
if (arg_num < argc) {
|
||||
char *tmp;
|
||||
window_id = strtol( argv[arg_num], &tmp, 0 );
|
||||
window_id = (void *)strtol( argv[arg_num], &tmp, 0 );
|
||||
lpc_video_params.wid = window_id;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
int x,y,w,h;
|
||||
unsigned long wid;
|
||||
void *wid;
|
||||
bool_t show;
|
||||
bool_t refresh;
|
||||
} VideoParams;
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ endif()
|
|||
|
||||
set(SOURCE_FILES
|
||||
account_creator.c
|
||||
account_creator.h
|
||||
address.c
|
||||
authentication.c
|
||||
bellesip_sal/sal_address_impl.c
|
||||
|
|
@ -61,18 +60,13 @@ set(SOURCE_FILES
|
|||
enum.c
|
||||
enum.h
|
||||
event.c
|
||||
event.h
|
||||
friend.c
|
||||
info.c
|
||||
ldap/ldapprovider.c
|
||||
lime.c
|
||||
linphonecall.c
|
||||
linphonecore.c
|
||||
linphonecore.h
|
||||
linphonecore_utils.h
|
||||
linphonefriend.h
|
||||
linphone_tunnel_config.c
|
||||
linphone_tunnel.h
|
||||
localplayer.c
|
||||
lpconfig.c
|
||||
lpconfig.h
|
||||
|
|
@ -90,14 +84,31 @@ set(SOURCE_FILES
|
|||
sal.c
|
||||
siplogin.c
|
||||
sipsetup.c
|
||||
sipsetup.h
|
||||
xml2lpc.c
|
||||
xml2lpc.h
|
||||
xml.c
|
||||
xmlrpc.c
|
||||
xmlrpc.h
|
||||
vtables.c
|
||||
)
|
||||
|
||||
set(HEADER_FILES
|
||||
account_creator.h
|
||||
buffer.h
|
||||
call_log.h
|
||||
call_params.h
|
||||
content.h
|
||||
event.h
|
||||
linphonecore.h
|
||||
linphonecore_utils.h
|
||||
linphonefriend.h
|
||||
linphonepresence.h
|
||||
linphone_proxy_config.h
|
||||
linphone_tunnel.h
|
||||
lpc2xml.h
|
||||
lpconfig.h
|
||||
sipsetup.h
|
||||
xml2lpc.h
|
||||
xmlrpc.h
|
||||
)
|
||||
if(ENABLE_TUNNEL)
|
||||
list(APPEND SOURCE_FILES
|
||||
linphone_tunnel.cc
|
||||
|
|
@ -183,26 +194,6 @@ install(TARGETS linphone EXPORT LinphoneTargets
|
|||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
)
|
||||
|
||||
|
||||
set(HEADER_FILES
|
||||
account_creator.h
|
||||
buffer.h
|
||||
call_log.h
|
||||
call_params.h
|
||||
content.h
|
||||
event.h
|
||||
linphonecore.h
|
||||
linphonecore_utils.h
|
||||
linphonefriend.h
|
||||
linphonepresence.h
|
||||
linphone_tunnel.h
|
||||
lpc2xml.h
|
||||
lpconfig.h
|
||||
sipsetup.h
|
||||
xml2lpc.h
|
||||
xmlrpc.h
|
||||
)
|
||||
|
||||
install(FILES ${HEADER_FILES}
|
||||
DESTINATION include/linphone
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ linphone_include_HEADERS=\
|
|||
linphonecore_utils.h \
|
||||
linphonefriend.h \
|
||||
linphonepresence.h \
|
||||
linphone_proxy_config.h \
|
||||
linphone_tunnel.h \
|
||||
lpc2xml.h \
|
||||
lpconfig.h \
|
||||
|
|
@ -59,17 +60,16 @@ liblinphone_la_SOURCES=\
|
|||
dict.c \
|
||||
ec-calibrator.c \
|
||||
enum.c enum.h \
|
||||
event.c event.h \
|
||||
event.c \
|
||||
friend.c \
|
||||
info.c \
|
||||
ldap/ldapprovider.c ldap/ldapprovider.h \
|
||||
linphonecall.c \
|
||||
linphonecore.c linphonecore.h \
|
||||
linphonecore_utils.h \
|
||||
linphonecore.c \
|
||||
localplayer.c \
|
||||
lpc2xml.c \
|
||||
lime.c lime.h\
|
||||
lpconfig.c lpconfig.h \
|
||||
lpconfig.c \
|
||||
lsd.c \
|
||||
message_storage.c \
|
||||
misc.c \
|
||||
|
|
@ -82,7 +82,7 @@ liblinphone_la_SOURCES=\
|
|||
remote_provisioning.c \
|
||||
sal.c \
|
||||
siplogin.c \
|
||||
sipsetup.c sipsetup.h \
|
||||
sipsetup.c \
|
||||
xml2lpc.c \
|
||||
xml.c \
|
||||
xmlrpc.c \
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ static void _linphone_account_creator_destroy(LinphoneAccountCreator *creator) {
|
|||
if (creator->domain) ms_free(creator->domain);
|
||||
if (creator->route) ms_free(creator->route);
|
||||
if (creator->email) ms_free(creator->email);
|
||||
if (creator->display_name) ms_free(creator->display_name);
|
||||
ms_free(creator);
|
||||
}
|
||||
|
||||
|
|
@ -155,6 +156,14 @@ const char * linphone_account_creator_get_route(const LinphoneAccountCreator *cr
|
|||
return creator->route;
|
||||
}
|
||||
|
||||
void linphone_account_creator_set_display_name(LinphoneAccountCreator *creator, const char *display_name) {
|
||||
set_string(&creator->display_name, display_name);
|
||||
}
|
||||
|
||||
const char * linphone_account_creator_get_display_name(const LinphoneAccountCreator *creator) {
|
||||
return creator->display_name;
|
||||
}
|
||||
|
||||
void linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email) {
|
||||
set_string(&creator->email, email);
|
||||
}
|
||||
|
|
@ -269,12 +278,15 @@ LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCr
|
|||
}
|
||||
|
||||
LinphoneProxyConfig * linphone_account_creator_configure(const LinphoneAccountCreator *creator) {
|
||||
LinphoneAddress *identity;
|
||||
LinphoneAuthInfo *info;
|
||||
LinphoneProxyConfig *cfg = linphone_core_create_proxy_config(creator->core);
|
||||
char *identity_str = ms_strdup_printf("sip:%s@%s", creator->username, creator->domain);
|
||||
LinphoneAddress *identity = linphone_address_new(identity_str);
|
||||
if (creator->display_name) {
|
||||
linphone_address_set_display_name(identity, creator->display_name);
|
||||
}
|
||||
|
||||
linphone_proxy_config_set_identity(cfg, identity_str);
|
||||
linphone_proxy_config_set_identity(cfg, linphone_address_as_string(identity));
|
||||
linphone_proxy_config_set_server_addr(cfg, creator->domain);
|
||||
linphone_proxy_config_set_route(cfg, creator->route);
|
||||
linphone_proxy_config_enable_publish(cfg, FALSE);
|
||||
|
|
@ -298,7 +310,6 @@ LinphoneProxyConfig * linphone_account_creator_configure(const LinphoneAccountCr
|
|||
linphone_core_set_firewall_policy(creator->core, LinphonePolicyUseIce);
|
||||
}
|
||||
|
||||
identity = linphone_address_new(linphone_proxy_config_get_identity(cfg));
|
||||
info = linphone_auth_info_new(linphone_address_get_username(identity), NULL, creator->password, NULL, NULL, linphone_address_get_domain(identity));
|
||||
linphone_core_add_auth_info(creator->core, info);
|
||||
linphone_address_destroy(identity);
|
||||
|
|
|
|||
|
|
@ -161,6 +161,20 @@ LINPHONE_PUBLIC void linphone_account_creator_set_route(LinphoneAccountCreator *
|
|||
**/
|
||||
LINPHONE_PUBLIC const char * linphone_account_creator_get_route(const LinphoneAccountCreator *creator);
|
||||
|
||||
/**
|
||||
* Set the email.
|
||||
* @param[in] creator LinphoneAccountCreator object
|
||||
* @param[in] display_name The display name to set
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_account_creator_set_display_name(LinphoneAccountCreator *creator, const char *display_name);
|
||||
|
||||
/**
|
||||
* Get the email.
|
||||
* @param[in] creator LinphoneAccountCreator object
|
||||
* @return The display name of the LinphoneAccountCreator
|
||||
**/
|
||||
LINPHONE_PUBLIC const char * linphone_account_creator_get_display_name(const LinphoneAccountCreator *creator);
|
||||
|
||||
/**
|
||||
* Set the email.
|
||||
* @param[in] creator LinphoneAccountCreator object
|
||||
|
|
|
|||
|
|
@ -490,6 +490,7 @@ Sal * sal_init(){
|
|||
sal->tls_verify_cn=TRUE;
|
||||
sal->refresher_retry_after=60000; /*default value in ms*/
|
||||
sal->enable_sip_update=TRUE;
|
||||
sal->pending_trans_checking=TRUE;
|
||||
return sal;
|
||||
}
|
||||
|
||||
|
|
@ -1172,3 +1173,12 @@ void sal_default_set_sdp_handling(Sal *sal, SalOpSDPHandling sdp_handling_method
|
|||
if (sdp_handling_method != SalOpSDPNormal ) ms_message("Enabling special SDP handling for all new SalOp in Sal[%p]!", sal);
|
||||
sal->default_sdp_handling = sdp_handling_method;
|
||||
}
|
||||
|
||||
bool_t sal_pending_trans_checking_enabled(const Sal *sal) {
|
||||
return sal->pending_trans_checking;
|
||||
}
|
||||
|
||||
int sal_enable_pending_trans_checking(Sal *sal, bool_t value) {
|
||||
sal->pending_trans_checking = value;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ struct Sal{
|
|||
bool_t no_initial_route;
|
||||
bool_t enable_sip_update; /*true by default*/
|
||||
SalOpSDPHandling default_sdp_handling;
|
||||
bool_t pending_trans_checking; /*testing purpose*/
|
||||
};
|
||||
|
||||
typedef enum SalOpState {
|
||||
|
|
|
|||
|
|
@ -889,6 +889,8 @@ int sal_call_decline(SalOp *op, SalReason reason, const char *redirection /*opti
|
|||
int sal_call_update(SalOp *op, const char *subject, bool_t no_user_consent){
|
||||
belle_sip_request_t *update;
|
||||
belle_sip_dialog_state_t state=belle_sip_dialog_get_state(op->dialog);
|
||||
belle_sip_dialog_enable_pending_trans_checking(op->dialog,op->base.root->pending_trans_checking);
|
||||
|
||||
/*check for dialog state*/
|
||||
if ( state == BELLE_SIP_DIALOG_CONFIRMED) {
|
||||
if (no_user_consent)
|
||||
|
|
@ -906,6 +908,11 @@ int sal_call_update(SalOp *op, const char *subject, bool_t no_user_consent){
|
|||
sal_op_fill_invite(op, update);
|
||||
return sal_op_send_request(op,update);
|
||||
}
|
||||
/*it failed why ?*/
|
||||
if (belle_sip_dialog_request_pending(op->dialog))
|
||||
sal_error_info_set(&op->error_info,SalReasonRequestPending,491,NULL,NULL);
|
||||
else
|
||||
sal_error_info_set(&op->error_info,SalReasonUnknown,500,NULL,NULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ void _sal_op_add_custom_headers(SalOp *op, belle_sip_message_t *msg){
|
|||
}
|
||||
}
|
||||
|
||||
static int _sal_op_send_request_with_contact(SalOp* op, belle_sip_request_t* request,bool_t add_contact) {
|
||||
static int _sal_op_send_request_with_contact(SalOp* op, belle_sip_request_t* request, bool_t add_contact) {
|
||||
belle_sip_client_transaction_t* client_transaction;
|
||||
belle_sip_provider_t* prov=op->base.root->prov;
|
||||
belle_sip_uri_t* outbound_proxy=NULL;
|
||||
|
|
@ -294,10 +294,10 @@ static int _sal_op_send_request_with_contact(SalOp* op, belle_sip_request_t* req
|
|||
int result =-1;
|
||||
belle_sip_uri_t *next_hop_uri=NULL;
|
||||
|
||||
if (add_contact) {
|
||||
if (add_contact && !belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(request),belle_sip_header_contact_t)) {
|
||||
contact = sal_op_create_contact(op);
|
||||
belle_sip_message_set_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_HEADER(contact));
|
||||
}
|
||||
} /*keep existing*/
|
||||
|
||||
_sal_op_add_custom_headers(op, (belle_sip_message_t*)request);
|
||||
|
||||
|
|
@ -613,7 +613,10 @@ void set_or_update_dialog(SalOp* op, belle_sip_dialog_t* dialog) {
|
|||
unlink_op_with_dialog(op,op->dialog);
|
||||
op->dialog=NULL;
|
||||
}
|
||||
if (dialog) op->dialog=link_op_with_dialog(op,dialog);
|
||||
if (dialog) {
|
||||
op->dialog=link_op_with_dialog(op,dialog);
|
||||
belle_sip_dialog_enable_pending_trans_checking(dialog,op->base.root->pending_trans_checking);
|
||||
}
|
||||
}
|
||||
sal_op_unref(op);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
int sal_send_info(SalOp *op, const char *from, const char *to, const SalBody *body){
|
||||
if (op->dialog){
|
||||
belle_sip_request_t *req=belle_sip_dialog_create_queued_request(op->dialog,"INFO");
|
||||
belle_sip_request_t *req;
|
||||
belle_sip_dialog_enable_pending_trans_checking(op->dialog,op->base.root->pending_trans_checking);
|
||||
req=belle_sip_dialog_create_queued_request(op->dialog,"INFO");
|
||||
sal_op_add_body(op,(belle_sip_message_t*)req,body);
|
||||
return sal_op_send_request(op,req);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ static void register_refresher_listener (belle_sip_refresher_t* refresher
|
|||
/*check service route rfc3608*/
|
||||
belle_sip_header_service_route_t* service_route;
|
||||
belle_sip_header_address_t* service_route_address=NULL;
|
||||
belle_sip_header_contact_t *contact = belle_sip_refresher_get_contact(refresher);
|
||||
if ((service_route=belle_sip_message_get_header_by_type(response,belle_sip_header_service_route_t))) {
|
||||
service_route_address=belle_sip_header_address_create(NULL,belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(service_route)));
|
||||
}
|
||||
|
|
@ -47,6 +48,9 @@ static void register_refresher_listener (belle_sip_refresher_t* refresher
|
|||
if (service_route_address) belle_sip_object_unref(service_route_address);
|
||||
|
||||
sal_remove_pending_auth(op->base.root,op); /*just in case*/
|
||||
if (contact) {
|
||||
sal_op_set_contact_address(op,(SalAddress*)(BELLE_SIP_HEADER_ADDRESS(contact))); /*update contact with real value*/
|
||||
}
|
||||
op->base.root->callbacks.register_success(op,belle_sip_refresher_get_expires(op->refresher)>0);
|
||||
} else if (status_code>=400) {
|
||||
/* from rfc3608, 6.1.
|
||||
|
|
@ -71,7 +75,7 @@ static void register_refresher_listener (belle_sip_refresher_t* refresher
|
|||
}
|
||||
}
|
||||
|
||||
int sal_register(SalOp *op, const char *proxy, const char *from, int expires){
|
||||
int sal_register(SalOp *op, const char *proxy, const char *from, int expires,SalAddress* old_contact){
|
||||
belle_sip_request_t *req;
|
||||
belle_sip_uri_t* req_uri;
|
||||
belle_sip_header_t* accept_header;
|
||||
|
|
@ -96,6 +100,19 @@ int sal_register(SalOp *op, const char *proxy, const char *from, int expires){
|
|||
accept_header = belle_sip_header_create("Accept", "application/sdp, text/plain, application/vnd.gsma.rcs-ft-http+xml");
|
||||
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req), accept_header);
|
||||
belle_sip_message_set_header(BELLE_SIP_MESSAGE(req),(belle_sip_header_t*)sal_op_create_contact(op));
|
||||
if (old_contact) {
|
||||
belle_sip_header_contact_t *contact=belle_sip_header_contact_create((const belle_sip_header_address_t *)old_contact);
|
||||
if (contact) {
|
||||
char * tmp;
|
||||
belle_sip_header_contact_set_expires(contact,0); /*remove old aor*/
|
||||
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req), BELLE_SIP_HEADER(contact));
|
||||
tmp = belle_sip_object_to_string(contact);
|
||||
ms_message("Clearing contact [%s] for op [%p]",tmp,op);
|
||||
ms_free(tmp);
|
||||
} else {
|
||||
ms_error("Cannot add old contact header to op [%p]",op);
|
||||
}
|
||||
}
|
||||
return sal_op_send_and_create_refresher(op,req,expires,register_refresher_listener);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1267,7 +1267,7 @@ static void text_delivery_update(SalOp *op, SalTextDeliveryStatus status){
|
|||
linphone_chat_message_update_state(chat_msg);
|
||||
|
||||
if (chat_msg && (chat_msg->cb || (chat_msg->callbacks && linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)))) {
|
||||
ms_message("Notifying text delivery with status %i",chat_msg->state);
|
||||
ms_message("Notifying text delivery with status %s",linphone_chat_message_state_to_string(chat_msg->state));
|
||||
if (chat_msg->callbacks && linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)) {
|
||||
linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)(chat_msg, chat_msg->state);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -400,6 +400,7 @@ static LinphoneChatRoom * _linphone_core_create_chat_room(LinphoneCore *lc, Linp
|
|||
cr->lc = lc;
|
||||
cr->peer = linphone_address_as_string(addr);
|
||||
cr->peer_url = addr;
|
||||
cr->unread_count = -1;
|
||||
lc->chatrooms = ms_list_append(lc->chatrooms, (void *)cr);
|
||||
return cr;
|
||||
}
|
||||
|
|
@ -620,6 +621,8 @@ static void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatM
|
|||
msg->from=linphone_address_new(identity);
|
||||
msg->storage_id=linphone_chat_message_store(msg);
|
||||
|
||||
if(cr->unread_count >= 0 && !msg->is_read) cr->unread_count++;
|
||||
|
||||
// add to transient list
|
||||
cr->transient_messages = ms_list_append(cr->transient_messages, linphone_chat_message_ref(msg));
|
||||
|
||||
|
|
@ -772,6 +775,10 @@ void linphone_core_message_received(LinphoneCore *lc, SalOp *op, const SalMessag
|
|||
|
||||
linphone_address_destroy(addr);
|
||||
msg->storage_id=linphone_chat_message_store(msg);
|
||||
|
||||
if(cr->unread_count < 0) cr->unread_count = 1;
|
||||
else cr->unread_count++;
|
||||
|
||||
linphone_chat_room_message_received(cr,lc,msg);
|
||||
linphone_chat_message_unref(msg);
|
||||
}
|
||||
|
|
@ -1373,6 +1380,7 @@ LinphoneChatMessage* linphone_chat_message_clone(const LinphoneChatMessage* msg)
|
|||
new_message->storage_id=msg->storage_id;
|
||||
if (msg->from) new_message->from=linphone_address_clone(msg->from);
|
||||
if (msg->file_transfer_filepath) new_message->file_transfer_filepath=ms_strdup(msg->file_transfer_filepath);
|
||||
if (msg->file_transfer_information) new_message->file_transfer_information=linphone_content_copy(msg->file_transfer_information);
|
||||
return new_message;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
|
||||
#include "private.h"
|
||||
#include "lpconfig.h"
|
||||
|
||||
|
|
@ -87,7 +87,7 @@ void linphone_core_conference_check_uninit(LinphoneCore *lc){
|
|||
ctx->record_endpoint=NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ms_audio_conference_get_size(ctx->conf)==0){
|
||||
ms_audio_conference_destroy(ctx->conf);
|
||||
ctx->conf=NULL;
|
||||
|
|
@ -110,7 +110,7 @@ void linphone_call_add_to_conf(LinphoneCall *call, bool_t muted){
|
|||
void linphone_call_remove_from_conf(LinphoneCall *call){
|
||||
LinphoneCore *lc=call->core;
|
||||
LinphoneConference *conf=&lc->conf_ctx;
|
||||
|
||||
|
||||
ms_audio_conference_remove_member(conf->conf,call->endpoint);
|
||||
ms_audio_endpoint_release_from_stream(call->endpoint);
|
||||
call->endpoint=NULL;
|
||||
|
|
@ -128,12 +128,12 @@ static void add_local_endpoint(LinphoneConference *conf,LinphoneCore *lc){
|
|||
/*create a dummy audiostream in order to extract the local part of it */
|
||||
/* network address and ports have no meaning and are not used here. */
|
||||
AudioStream *st=audio_stream_new(65000,65001,FALSE);
|
||||
MSSndCard *playcard=lc->sound_conf.lsd_card ?
|
||||
MSSndCard *playcard=lc->sound_conf.lsd_card ?
|
||||
lc->sound_conf.lsd_card : lc->sound_conf.play_sndcard;
|
||||
MSSndCard *captcard=lc->sound_conf.capt_sndcard;
|
||||
const MSAudioConferenceParams *params=ms_audio_conference_get_params(conf->conf);
|
||||
conf->local_dummy_profile=make_dummy_profile(params->samplerate);
|
||||
|
||||
|
||||
audio_stream_start_full(st, conf->local_dummy_profile,
|
||||
"127.0.0.1",
|
||||
65000,
|
||||
|
|
@ -151,7 +151,7 @@ static void add_local_endpoint(LinphoneConference *conf,LinphoneCore *lc){
|
|||
conf->local_participant=st;
|
||||
conf->local_endpoint=ms_audio_endpoint_get_from_stream(st,FALSE);
|
||||
ms_audio_conference_add_member(conf->conf,conf->local_endpoint);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -166,7 +166,7 @@ float linphone_core_get_conference_local_input_volume(LinphoneCore *lc){
|
|||
float vol=0;
|
||||
ms_filter_call_method(st->volsend,MS_VOLUME_GET,&vol);
|
||||
return vol;
|
||||
|
||||
|
||||
}
|
||||
return LINPHONE_VOLUME_DB_LOWEST;
|
||||
}
|
||||
|
|
@ -175,22 +175,22 @@ float linphone_core_get_conference_local_input_volume(LinphoneCore *lc){
|
|||
* Merge a call into a conference.
|
||||
* @param lc the linphone core
|
||||
* @param call an established call, either in LinphoneCallStreamsRunning or LinphoneCallPaused state.
|
||||
*
|
||||
*
|
||||
* If this is the first call that enters the conference, the virtual conference will be created automatically.
|
||||
* If the local user was actively part of the call (ie not in paused state), then the local user is automatically entered into the conference.
|
||||
* If the call was in paused state, then it is automatically resumed when entering into the conference.
|
||||
*
|
||||
*
|
||||
* @return 0 if successful, -1 otherwise.
|
||||
**/
|
||||
int linphone_core_add_to_conference(LinphoneCore *lc, LinphoneCall *call){
|
||||
LinphoneConference *conf=&lc->conf_ctx;
|
||||
|
||||
|
||||
if (call->current_params->in_conference){
|
||||
ms_error("Already in conference");
|
||||
return -1;
|
||||
}
|
||||
conference_check_init(&lc->conf_ctx, lp_config_get_int(lc->config, "sound","conference_rate",16000));
|
||||
|
||||
|
||||
if (call->state==LinphoneCallPaused){
|
||||
call->params->in_conference=TRUE;
|
||||
call->params->has_video=FALSE;
|
||||
|
|
@ -199,7 +199,7 @@ int linphone_core_add_to_conference(LinphoneCore *lc, LinphoneCall *call){
|
|||
LinphoneCallParams *params=linphone_call_params_copy(linphone_call_get_current_params(call));
|
||||
params->in_conference=TRUE;
|
||||
params->has_video=FALSE;
|
||||
|
||||
|
||||
if (call->audiostream || call->videostream){
|
||||
linphone_call_stop_media_streams(call); /*free the audio & video local resources*/
|
||||
linphone_call_init_media_streams(call);
|
||||
|
|
@ -280,15 +280,15 @@ static int convert_conference_to_call(LinphoneCore *lc){
|
|||
* Remove a call from the conference.
|
||||
* @param lc the linphone core
|
||||
* @param call a call that has been previously merged into the conference.
|
||||
*
|
||||
*
|
||||
* After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state.
|
||||
* If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is
|
||||
* automatically transformed into a simple call in StreamsRunning state.
|
||||
* The conference's resources are then automatically destroyed.
|
||||
*
|
||||
*
|
||||
* In other words, unless linphone_core_leave_conference() is explicitely called, the last remote participant of a conference is automatically
|
||||
* put in a simple call in running state.
|
||||
*
|
||||
*
|
||||
* @return 0 if successful, -1 otherwise.
|
||||
**/
|
||||
int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *call){
|
||||
|
|
@ -311,11 +311,6 @@ int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *call){
|
|||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the local participant is part of the conference.
|
||||
* @param lc the linphone core
|
||||
* @return TRUE if the local participant is in the conference, FALSE otherwise.
|
||||
**/
|
||||
bool_t linphone_core_is_in_conference(const LinphoneCore *lc){
|
||||
return lc->conf_ctx.local_participant!=NULL;
|
||||
}
|
||||
|
|
@ -336,12 +331,12 @@ int linphone_core_leave_conference(LinphoneCore *lc){
|
|||
/**
|
||||
* Moves the local participant inside the conference.
|
||||
* @param lc the linphone core
|
||||
*
|
||||
* Makes the local participant to join the conference.
|
||||
*
|
||||
* Makes the local participant to join the conference.
|
||||
* Typically, the local participant is by default always part of the conference when joining an active call into a conference.
|
||||
* However, by calling linphone_core_leave_conference() and linphone_core_enter_conference() the application can decide to temporarily
|
||||
* move out and in the local participant from the conference.
|
||||
*
|
||||
*
|
||||
* @return 0 if successful, -1 otherwise
|
||||
**/
|
||||
int linphone_core_enter_conference(LinphoneCore *lc){
|
||||
|
|
@ -360,9 +355,9 @@ int linphone_core_enter_conference(LinphoneCore *lc){
|
|||
/**
|
||||
* Add all calls into a conference.
|
||||
* @param lc the linphone core
|
||||
*
|
||||
*
|
||||
* Merge all established calls (either in LinphoneCallStreamsRunning or LinphoneCallPaused) into a conference.
|
||||
*
|
||||
*
|
||||
* @return 0 if successful, -1 otherwise
|
||||
**/
|
||||
int linphone_core_add_all_to_conference(LinphoneCore *lc) {
|
||||
|
|
@ -381,9 +376,9 @@ int linphone_core_add_all_to_conference(LinphoneCore *lc) {
|
|||
/**
|
||||
* Terminates the conference and the calls associated with it.
|
||||
* @param lc the linphone core
|
||||
*
|
||||
*
|
||||
* All the calls that were merged to the conference are terminated, and the conference resources are destroyed.
|
||||
*
|
||||
*
|
||||
* @return 0 if successful, -1 otherwise
|
||||
**/
|
||||
int linphone_core_terminate_conference(LinphoneCore *lc) {
|
||||
|
|
@ -404,10 +399,10 @@ int linphone_core_terminate_conference(LinphoneCore *lc) {
|
|||
/**
|
||||
* Returns the number of participants to the conference, including the local participant.
|
||||
* @param lc the linphone core
|
||||
*
|
||||
*
|
||||
* Typically, after merging two calls into the conference, there is total of 3 participants:
|
||||
* the local participant (or local user), and two remote participants that were the destinations of the two previously establised calls.
|
||||
*
|
||||
*
|
||||
* @return the number of participants to the conference
|
||||
**/
|
||||
int linphone_core_get_conference_size(LinphoneCore *lc) {
|
||||
|
|
|
|||
504
coreapi/linphone_proxy_config.h
Normal file
|
|
@ -0,0 +1,504 @@
|
|||
/*
|
||||
Copyright (C) 2000 - 2010 Simon MORLAT (simon.morlat@linphone.org)
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#ifndef LINPHONE_PROXY_CONFIG_H
|
||||
#define LINPHONE_PROXY_CONFIG_H
|
||||
|
||||
/**
|
||||
* Creates an empty proxy config.
|
||||
* @deprecated, use #linphone_core_create_proxy_config instead
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneProxyConfig *linphone_proxy_config_new(void);
|
||||
|
||||
/**
|
||||
* Acquire a reference to the proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The same proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneProxyConfig *linphone_proxy_config_ref(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Release reference to the proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_unref(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Retrieve the user pointer associated with the proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The user pointer associated with the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void *linphone_proxy_config_get_user_data(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Assign a user pointer to the proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] ud The user pointer to associate with the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_user_data(LinphoneProxyConfig *cfg, void *ud);
|
||||
|
||||
/**
|
||||
* Sets the proxy address
|
||||
*
|
||||
* Examples of valid sip proxy address are:
|
||||
* - IP address: sip:87.98.157.38
|
||||
* - IP address with port: sip:87.98.157.38:5062
|
||||
* - hostnames : sip:sip.example.net
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_server_addr(LinphoneProxyConfig *cfg, const char *server_addr);
|
||||
|
||||
/**
|
||||
* @deprecated Use linphone_proxy_config_set_identity_address()
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_identity(LinphoneProxyConfig *cfg, const char *identity);
|
||||
|
||||
/**
|
||||
* Sets the user identity as a SIP address.
|
||||
*
|
||||
* This identity is normally formed with display name, username and domain, such
|
||||
* as:
|
||||
* Alice <sip:alice@example.net>
|
||||
* The REGISTER messages will have from and to set to this identity.
|
||||
*
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_identity_address(LinphoneProxyConfig *cfg, const LinphoneAddress *identity);
|
||||
|
||||
/**
|
||||
* Sets a SIP route.
|
||||
* When a route is set, all outgoing calls will go to the route's destination if this proxy
|
||||
* is the default one (see linphone_core_set_default_proxy() ).
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_route(LinphoneProxyConfig *cfg, const char *route);
|
||||
|
||||
/**
|
||||
* Sets the registration expiration time in seconds.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_expires(LinphoneProxyConfig *cfg, int expires);
|
||||
|
||||
#define linphone_proxy_config_expires linphone_proxy_config_set_expires
|
||||
/**
|
||||
* Indicates either or not, REGISTRATION must be issued for this #LinphoneProxyConfig .
|
||||
* <br> In case this #LinphoneProxyConfig has been added to #LinphoneCore, follows the linphone_proxy_config_edit() rule.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param val if true, registration will be engaged
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_register(LinphoneProxyConfig *cfg, bool_t val);
|
||||
|
||||
#define linphone_proxy_config_enableregister linphone_proxy_config_enable_register
|
||||
|
||||
/**
|
||||
* Starts editing a proxy configuration.
|
||||
*
|
||||
* Because proxy configuration must be consistent, applications MUST
|
||||
* call linphone_proxy_config_edit() before doing any attempts to modify
|
||||
* proxy configuration (such as identity, proxy address and so on).
|
||||
* Once the modifications are done, then the application must call
|
||||
* linphone_proxy_config_done() to commit the changes.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_edit(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Commits modification made to the proxy configuration.
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_done(LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Indicates either or not, PUBLISH must be issued for this #LinphoneProxyConfig .
|
||||
* <br> In case this #LinphoneProxyConfig has been added to #LinphoneCore, follows the linphone_proxy_config_edit() rule.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param val if true, publish will be engaged
|
||||
*
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_publish(LinphoneProxyConfig *cfg, bool_t val);
|
||||
/**
|
||||
* Set the publish expiration time in second.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param expires in second
|
||||
* */
|
||||
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_publish_expires(LinphoneProxyConfig *cfg, int expires);
|
||||
/**
|
||||
* get the publish expiration time in second. Default value is the registration expiration value.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return expires in second
|
||||
* */
|
||||
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_get_publish_expires(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Sets whether liblinphone should replace "+" by international calling prefix in dialed numbers (passed to
|
||||
* #linphone_core_invite ).
|
||||
*
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_dial_escape_plus(LinphoneProxyConfig *cfg, bool_t val);
|
||||
|
||||
/**
|
||||
* Sets a dialing prefix to be automatically prepended when inviting a number with
|
||||
* linphone_core_invite();
|
||||
* This dialing prefix shall usually be the country code of the country where the user is living, without "+".
|
||||
*
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_dial_prefix(LinphoneProxyConfig *cfg, const char *prefix);
|
||||
|
||||
/**
|
||||
* Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] enable True to sotre quality statistics and sent them to the collector, false to disable it.
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_quality_reporting(LinphoneProxyConfig *cfg, bool_t enable);
|
||||
|
||||
/**
|
||||
* Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return True if quality repotring is enabled, false otherwise.
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_quality_reporting_enabled(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Set the route of the collector end-point when using quality reporting. This SIP address
|
||||
* should be used on server-side to process packets directly before discarding packets. Collector address
|
||||
* should be a non existing account and will not receive any messages.
|
||||
* If NULL, reports will be send to the proxy domain.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] collector route of the collector end-point, if NULL PUBLISH will be sent to the proxy domain.
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_quality_reporting_collector(LinphoneProxyConfig *cfg, const char *collector);
|
||||
|
||||
/**
|
||||
* Get the route of the collector end-point when using quality reporting. This SIP address
|
||||
* should be used on server-side to process packets directly before discarding packets. Collector address
|
||||
* should be a non existing account and will not receive any messages.
|
||||
* If NULL, reports will be send to the proxy domain.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The SIP address of the collector end-point.
|
||||
*/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_quality_reporting_collector(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Set the interval between 2 interval reports sending when using quality reporting. If call exceed interval size, an
|
||||
* interval report will be sent to the collector. On call termination, a session report will be sent
|
||||
* for the remaining period. Value must be 0 (disabled) or positive.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] interval The interval in seconds, 0 means interval reports are disabled.
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_quality_reporting_interval(LinphoneProxyConfig *cfg, uint8_t interval);
|
||||
|
||||
/**
|
||||
* Get the interval between interval reports when using quality reporting.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The interval in seconds, 0 means interval reports are disabled.
|
||||
*/
|
||||
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_get_quality_reporting_interval(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the registration state of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The registration state of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneRegistrationState linphone_proxy_config_get_state(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return a boolean indicating that the user is sucessfully registered on the proxy.
|
||||
* @deprecated Use linphone_proxy_config_get_state() instead.
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the domain name of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The domain name of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_domain(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the realm of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The realm of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_realm(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Set the realm of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] realm New realm value.
|
||||
* @return The realm of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_realm(LinphoneProxyConfig *cfg, const char * realm);
|
||||
|
||||
/**
|
||||
* @return the route set for this proxy configuration.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_route(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return the SIP identity that belongs to this proxy configuration.
|
||||
**/
|
||||
LINPHONE_PUBLIC const LinphoneAddress *linphone_proxy_config_get_identity_address(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @deprecated use linphone_proxy_config_get_identity_address()
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_identity(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return TRUE if PUBLISH request is enabled for this proxy.
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_publish_enabled(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return the proxy's SIP address.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_server_addr(const LinphoneProxyConfig *cfg);
|
||||
#define linphone_proxy_config_get_addr linphone_proxy_config_get_server_addr
|
||||
/**
|
||||
* @return the duration of registration.
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_get_expires(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* @return TRUE if registration to the proxy is enabled.
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_register_enabled(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Refresh a proxy registration.
|
||||
* This is useful if for example you resuming from suspend, thus IP address may have changed.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_refresh_register(LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Prevent a proxy config from refreshing its registration.
|
||||
* This is useful to let registrations to expire naturally (or) when the application wants to keep control on when
|
||||
* refreshes are sent.
|
||||
* However, linphone_core_set_network_reachable(lc,TRUE) will always request the proxy configs to refresh their registrations.
|
||||
* The refreshing operations can be resumed with linphone_proxy_config_refresh_register().
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_pause_register(LinphoneProxyConfig *cfg);
|
||||
|
||||
LINPHONE_PUBLIC const LinphoneAddress* linphone_proxy_config_get_contact(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return previously set contact parameters.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_contact_parameters(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Set optional contact parameters that will be added to the contact information sent in the registration.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param contact_params a string contaning the additional parameters in text form, like "myparam=something;myparam2=something_else"
|
||||
*
|
||||
* The main use case for this function is provide the proxy additional information regarding the user agent, like for example unique identifier or apple push id.
|
||||
* As an example, the contact address in the SIP register sent will look like <sip:joe@15.128.128.93:50421>;apple-push-id=43143-DFE23F-2323-FA2232.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_contact_parameters(LinphoneProxyConfig *cfg, const char *contact_params);
|
||||
|
||||
/**
|
||||
* Set optional contact parameters that will be added to the contact information sent in the registration, inside the URI.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param contact_uri_params a string containing the additional parameters in text form, like "myparam=something;myparam2=something_else"
|
||||
*
|
||||
* The main use case for this function is provide the proxy additional information regarding the user agent, like for example unique identifier or apple push id.
|
||||
* As an example, the contact address in the SIP register sent will look like <sip:joe@15.128.128.93:50421;apple-push-id=43143-DFE23F-2323-FA2232>.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_contact_uri_parameters(LinphoneProxyConfig *cfg, const char *contact_uri_params);
|
||||
|
||||
/**
|
||||
* @return previously set contact URI parameters.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char* linphone_proxy_config_get_contact_uri_parameters(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the #LinphoneCore object to which is associated the #LinphoneProxyConfig.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The #LinphoneCore object to which is associated the #LinphoneProxyConfig.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return whether liblinphone should replace "+" by "00" in dialed numbers (passed to
|
||||
* #linphone_core_invite ).
|
||||
*
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_get_dial_escape_plus(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* @return dialing prefix.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char * linphone_proxy_config_get_dial_prefix(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the reason why registration failed when the proxy config state is LinphoneRegistrationFailed.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The reason why registration failed for this proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneReason linphone_proxy_config_get_error(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get detailed information why registration failed when the proxy config state is LinphoneRegistrationFailed.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The details why registration failed for this proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC const LinphoneErrorInfo *linphone_proxy_config_get_error_info(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the transport from either service route, route or addr.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The transport as a string (I.E udp, tcp, tls, dtls)
|
||||
**/
|
||||
LINPHONE_PUBLIC const char* linphone_proxy_config_get_transport(const LinphoneProxyConfig *cfg);
|
||||
|
||||
|
||||
/**
|
||||
* Destroys a proxy config.
|
||||
* @deprecated
|
||||
*
|
||||
* @note: LinphoneProxyConfig that have been removed from LinphoneCore with
|
||||
* linphone_core_remove_proxy_config() must not be freed.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_destroy(LinphoneProxyConfig *cfg);
|
||||
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_sip_setup(LinphoneProxyConfig *cfg, const char *type);
|
||||
LINPHONE_PUBLIC SipSetupContext *linphone_proxy_config_get_sip_setup_context(LinphoneProxyConfig *cfg);
|
||||
LINPHONE_PUBLIC SipSetup *linphone_proxy_config_get_sip_setup(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Detect if the given input is a phone number or not.
|
||||
* @param proxy #LinphoneProxyConfig argument, unused yet but may contain useful data. Can be NULL.
|
||||
* @param username string to parse.
|
||||
* @return TRUE if input is a phone number, FALSE otherwise.
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_is_phone_number(LinphoneProxyConfig *proxy, const char *username);
|
||||
|
||||
/**
|
||||
* Normalize a human readable phone number into a basic string. 888-444-222 becomes 888444222
|
||||
* or +33888444222 depending on the #LinphoneProxyConfig object. However this argument is OPTIONNAL
|
||||
* and if not provided, a default one will be used.
|
||||
* This function will always generate a normalized username; if input is not a phone number, output will be a copy of input.
|
||||
* @param proxy #LinphoneProxyConfig object containing country code and/or escape symbol. If NULL passed, will use default configuration.
|
||||
* @param username the string to parse
|
||||
* @param result the newly normalized number
|
||||
* @param result_len the size of the normalized number \a result
|
||||
* @return TRUE if a phone number was recognized, FALSE otherwise.
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_normalize_number(LinphoneProxyConfig *proxy, const char *username,
|
||||
char *result, size_t result_len);
|
||||
|
||||
/**
|
||||
* Same objective as linphone_proxy_config_normalize_number but allocates a new string
|
||||
* @param proxy #LinphoneProxyConfig object containing country code and/or escape symbol. If NULL passed, will use default configuration.
|
||||
* @param username the string to parse
|
||||
* @return NULL if invalid phone number, normalized phone number from username input otherwise.
|
||||
*/
|
||||
LINPHONE_PUBLIC char* linphone_proxy_config_normalize_phone_number(LinphoneProxyConfig *proxy, const char *username);
|
||||
|
||||
/**
|
||||
* Normalize a human readable sip uri into a fully qualified LinphoneAddress.
|
||||
* A sip address should look like DisplayName \<sip:username\@domain:port\> .
|
||||
* Basically this function performs the following tasks
|
||||
* - if a phone number is entered, prepend country prefix and eventually escape the '+' by 00 of the proxy config.
|
||||
* - if no domain part is supplied, append the domain name of the proxy config. Returns NULL if no proxy is provided at this point.
|
||||
* - if no sip: is present, prepend it.
|
||||
*
|
||||
* The result is a syntactically correct SIP address.
|
||||
* @param proxy #LinphoneProxyConfig object containing country code, escape symbol and/or domain name. Can be NULL if domain is already provided.
|
||||
* @param username the string to parse
|
||||
* @return NULL if invalid input, normalized sip address otherwise.
|
||||
*/
|
||||
LINPHONE_PUBLIC LinphoneAddress* linphone_proxy_config_normalize_sip_uri(LinphoneProxyConfig *proxy, const char *username);
|
||||
|
||||
/**
|
||||
* Set default privacy policy for all calls routed through this proxy.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param privacy LinphonePrivacy to configure privacy
|
||||
* */
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_privacy(LinphoneProxyConfig *cfg, LinphonePrivacyMask privacy);
|
||||
/**
|
||||
* Get default privacy policy for all calls routed through this proxy.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return Privacy mode
|
||||
* */
|
||||
LINPHONE_PUBLIC LinphonePrivacyMask linphone_proxy_config_get_privacy(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Set the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param server_url URL of the file server like https://file.linphone.org/upload.php
|
||||
* */
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_file_transfer_server(LinphoneProxyConfig *cfg, const char * server_url);
|
||||
/**
|
||||
* Get the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return URL of the file server like https://file.linphone.org/upload.php
|
||||
* */
|
||||
LINPHONE_PUBLIC const char* linphone_proxy_config_get_file_transfer_server(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Indicates whether AVPF/SAVPF must be used for calls using this proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] enable True to enable AVPF/SAVF, false to disable it.
|
||||
* @deprecated use linphone_proxy_config_set_avpf_mode()
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_avpf(LinphoneProxyConfig *cfg, bool_t enable);
|
||||
|
||||
/**
|
||||
* Indicates whether AVPF/SAVPF is being used for calls using this proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return True if AVPF/SAVPF is enabled, false otherwise.
|
||||
* @deprecated use linphone_proxy_config_set_avpf_mode()
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_avpf_enabled(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Set the interval between regular RTCP reports when using AVPF/SAVPF.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] interval The interval in seconds (between 0 and 5 seconds).
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_avpf_rr_interval(LinphoneProxyConfig *cfg, uint8_t interval);
|
||||
|
||||
/**
|
||||
* Get the interval between regular RTCP reports when using AVPF/SAVPF.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The interval in seconds.
|
||||
*/
|
||||
LINPHONE_PUBLIC uint8_t linphone_proxy_config_get_avpf_rr_interval(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get enablement status of RTCP feedback (also known as AVPF profile).
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return the enablement mode, which can be LinphoneAVPFDefault (use LinphoneCore's mode), LinphoneAVPFEnabled (avpf is enabled), or LinphoneAVPFDisabled (disabled).
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneAVPFMode linphone_proxy_config_get_avpf_mode(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Enable the use of RTCP feedback (also known as AVPF profile).
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] mode the enablement mode, which can be LinphoneAVPFDefault (use LinphoneCore's mode), LinphoneAVPFEnabled (avpf is enabled), or LinphoneAVPFDisabled (disabled).
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_avpf_mode(LinphoneProxyConfig *cfg, LinphoneAVPFMode mode);
|
||||
|
||||
/**
|
||||
* Obtain the value of a header sent by the server in last answer to REGISTER.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param header_name the header name for which to fetch corresponding value
|
||||
* @return the value of the queried header.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_custom_header(LinphoneProxyConfig *cfg, const char *header_name);
|
||||
|
||||
/**
|
||||
* Set the value of a custom header sent to the server in REGISTERs request.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param header_name the header name
|
||||
* @param header_value the header's value
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_custom_header(LinphoneProxyConfig *cfg, const char *header_name, const char *header_value);
|
||||
|
||||
#endif
|
||||
|
|
@ -584,7 +584,6 @@ void linphone_call_make_local_media_description_with_params(LinphoneCore *lc, Li
|
|||
SalMediaDescription *old_md=call->localdesc;
|
||||
int i;
|
||||
int nb_active_streams = 0;
|
||||
const char *me;
|
||||
SalMediaDescription *md=sal_media_description_new();
|
||||
LinphoneAddress *addr;
|
||||
const char *subject;
|
||||
|
|
@ -605,11 +604,11 @@ void linphone_call_make_local_media_description_with_params(LinphoneCore *lc, Li
|
|||
|
||||
linphone_core_adapt_to_network(lc,call->ping_time,params);
|
||||
|
||||
if (call->dest_proxy)
|
||||
me=linphone_proxy_config_get_identity(call->dest_proxy);
|
||||
else
|
||||
me=linphone_core_get_identity(lc);
|
||||
addr=linphone_address_new(me);
|
||||
if (call->dest_proxy) {
|
||||
addr=linphone_address_clone(linphone_proxy_config_get_identity_address(call->dest_proxy));
|
||||
} else {
|
||||
addr=linphone_address_new(linphone_core_get_identity(lc));
|
||||
}
|
||||
|
||||
md->session_id=(old_md ? old_md->session_id : (rand() & 0xfff));
|
||||
md->session_ver=(old_md ? (old_md->session_ver+1) : (rand() & 0xfff));
|
||||
|
|
@ -2506,6 +2505,7 @@ static RtpSession * create_audio_rtp_io_session(LinphoneCall *call) {
|
|||
int remote_port = lp_config_get_int(lc->config, "sound", "rtp_remote_port", 17078);
|
||||
int ptnum = lp_config_get_int(lc->config, "sound", "rtp_ptnum", 0);
|
||||
const char *rtpmap = lp_config_get_string(lc->config, "sound", "rtp_map", "pcmu/8000/1");
|
||||
int symmetric = lp_config_get_int(lc->config, "sound", "rtp_symmetric", 0);
|
||||
RtpSession *rtp_session = NULL;
|
||||
pt = rtp_profile_get_payload_from_rtpmap(call->audio_profile, rtpmap);
|
||||
if (pt != NULL) {
|
||||
|
|
@ -2517,6 +2517,7 @@ static RtpSession * create_audio_rtp_io_session(LinphoneCall *call) {
|
|||
rtp_session_enable_rtcp(rtp_session, FALSE);
|
||||
rtp_session_set_payload_type(rtp_session, ptnum);
|
||||
rtp_session_set_jitter_compensation(rtp_session, linphone_core_get_audio_jittcomp(lc));
|
||||
rtp_session_set_symmetric_rtp(rtp_session, (bool_t)symmetric);
|
||||
}
|
||||
return rtp_session;
|
||||
}
|
||||
|
|
@ -2569,6 +2570,8 @@ static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, b
|
|||
playfile=NULL;
|
||||
}else if (stream->dir==SalStreamSendOnly){
|
||||
playcard=NULL;
|
||||
/*jehan: why capture card should be null in this case ? Not very good to only rely on stream dir to detect paused state.
|
||||
* It can also be a simple call in one way audio*/
|
||||
captcard=NULL;
|
||||
recfile=NULL;
|
||||
/*And we will eventually play "playfile" if set by the user*/
|
||||
|
|
@ -2631,6 +2634,8 @@ static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, b
|
|||
if (io.rtp_session == NULL) {
|
||||
ok = FALSE;
|
||||
}
|
||||
} else if (stream->dir==SalStreamSendOnly) { /*no very good, io.xx versus playcard,captcard and call state should be reworked*/
|
||||
io.input_file = playfile; /*quick fix to restaure current behavior which is SalStreamSendOnly=Paused=playfile*/
|
||||
} else {
|
||||
io.playback_card = playcard;
|
||||
io.capture_card = captcard;
|
||||
|
|
@ -2681,6 +2686,7 @@ static RtpSession * create_video_rtp_io_session(LinphoneCall *call) {
|
|||
int remote_port = lp_config_get_int(lc->config, "video", "rtp_remote_port", 19078);
|
||||
int ptnum = lp_config_get_int(lc->config, "video", "rtp_ptnum", 0);
|
||||
const char *rtpmap = lp_config_get_string(lc->config, "video", "rtp_map", "vp8/90000/1");
|
||||
int symmetric = lp_config_get_int(lc->config, "video", "rtp_symmetric", 0);
|
||||
RtpSession *rtp_session = NULL;
|
||||
pt = rtp_profile_get_payload_from_rtpmap(call->video_profile, rtpmap);
|
||||
if (pt != NULL) {
|
||||
|
|
@ -2691,6 +2697,7 @@ static RtpSession * create_video_rtp_io_session(LinphoneCall *call) {
|
|||
rtp_session_set_remote_addr_and_port(rtp_session, remote_ip, remote_port, -1);
|
||||
rtp_session_enable_rtcp(rtp_session, FALSE);
|
||||
rtp_session_set_payload_type(rtp_session, ptnum);
|
||||
rtp_session_set_symmetric_rtp(rtp_session, (bool_t)symmetric);
|
||||
}
|
||||
return rtp_session;
|
||||
}
|
||||
|
|
@ -2740,12 +2747,12 @@ static void linphone_call_start_video_stream(LinphoneCall *call, bool_t all_inpu
|
|||
video_stream_set_fps(call->videostream,linphone_core_get_preferred_framerate(lc));
|
||||
video_stream_set_sent_video_size(call->videostream,linphone_core_get_preferred_video_size(lc));
|
||||
video_stream_enable_self_view(call->videostream,lc->video_conf.selfview);
|
||||
if (call->video_window_id != 0)
|
||||
video_stream_set_native_window_id(call->videostream,call->video_window_id);
|
||||
else if (lc->video_window_id!=0)
|
||||
video_stream_set_native_window_id(call->videostream,lc->video_window_id);
|
||||
if (lc->preview_window_id!=0)
|
||||
video_stream_set_native_preview_window_id (call->videostream,lc->preview_window_id);
|
||||
if (call->video_window_id != NULL)
|
||||
video_stream_set_native_window_id(call->videostream, call->video_window_id);
|
||||
else if (lc->video_window_id != NULL)
|
||||
video_stream_set_native_window_id(call->videostream, lc->video_window_id);
|
||||
if (lc->preview_window_id != NULL)
|
||||
video_stream_set_native_preview_window_id(call->videostream, lc->preview_window_id);
|
||||
video_stream_use_preview_video_window (call->videostream,lc->use_preview_window);
|
||||
|
||||
if (is_multicast){
|
||||
|
|
@ -3200,6 +3207,32 @@ float linphone_call_get_record_volume(LinphoneCall *call){
|
|||
return LINPHONE_VOLUME_DB_LOWEST;
|
||||
}
|
||||
|
||||
float linphone_call_get_speaker_volume_gain(const LinphoneCall *call) {
|
||||
if(call->audiostream) return audio_stream_get_sound_card_output_gain(call->audiostream);
|
||||
else {
|
||||
ms_error("Could not get playback volume: no audio stream");
|
||||
return -1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void linphone_call_set_speaker_volume_gain(LinphoneCall *call, float volume) {
|
||||
if(call->audiostream) audio_stream_set_sound_card_output_gain(call->audiostream, volume);
|
||||
else ms_error("Could not set playback volume: no audio stream");
|
||||
}
|
||||
|
||||
float linphone_call_get_microphone_volume_gain(const LinphoneCall *call) {
|
||||
if(call->audiostream) return audio_stream_get_sound_card_input_gain(call->audiostream);
|
||||
else {
|
||||
ms_error("Could not get record volume: no audio stream");
|
||||
return -1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void linphone_call_set_microphone_volume_gain(LinphoneCall *call, float volume) {
|
||||
if(call->audiostream) audio_stream_set_sound_card_input_gain(call->audiostream, volume);
|
||||
else ms_error("Could not set record volume: no audio stream");
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain real-time quality rating of the call
|
||||
*
|
||||
|
|
@ -4037,7 +4070,7 @@ void linphone_call_cancel_dtmfs(LinphoneCall *call) {
|
|||
}
|
||||
}
|
||||
|
||||
unsigned long linphone_call_get_native_video_window_id(const LinphoneCall *call) {
|
||||
void * linphone_call_get_native_video_window_id(const LinphoneCall *call) {
|
||||
if (call->video_window_id) {
|
||||
/* The video id was previously set by the app. */
|
||||
return call->video_window_id;
|
||||
|
|
@ -4051,7 +4084,7 @@ unsigned long linphone_call_get_native_video_window_id(const LinphoneCall *call)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void linphone_call_set_native_video_window_id(LinphoneCall *call, unsigned long id) {
|
||||
void linphone_call_set_native_video_window_id(LinphoneCall *call, void *id) {
|
||||
call->video_window_id = id;
|
||||
#ifdef VIDEO_ENABLED
|
||||
if (call->videostream) {
|
||||
|
|
|
|||
|
|
@ -1496,6 +1496,7 @@ void linphone_configuring_terminated(LinphoneCore *lc, LinphoneConfiguringState
|
|||
linphone_core_start(lc);
|
||||
}
|
||||
|
||||
|
||||
static int linphone_core_serialization_ref = 0;
|
||||
|
||||
static void linphone_core_activate_log_serialization_if_needed(void) {
|
||||
|
|
@ -1929,30 +1930,16 @@ static void apply_jitter_value(LinphoneCore *lc, int value, MSFormatType stype){
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the nominal audio jitter buffer size in milliseconds.
|
||||
* The value takes effect immediately for all running and pending calls, if any.
|
||||
* A value of 0 disables the jitter buffer.
|
||||
*
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
void linphone_core_set_audio_jittcomp(LinphoneCore *lc, int value)
|
||||
void linphone_core_set_audio_jittcomp(LinphoneCore *lc, int milliseconds)
|
||||
{
|
||||
lc->rtp_conf.audio_jitt_comp=value;
|
||||
apply_jitter_value(lc, value, MSAudio);
|
||||
lc->rtp_conf.audio_jitt_comp=milliseconds;
|
||||
apply_jitter_value(lc, milliseconds, MSAudio);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the nominal video jitter buffer size in milliseconds.
|
||||
* The value takes effect immediately for all running and pending calls, if any.
|
||||
* A value of 0 disables the jitter buffer.
|
||||
*
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
void linphone_core_set_video_jittcomp(LinphoneCore *lc, int value)
|
||||
void linphone_core_set_video_jittcomp(LinphoneCore *lc, int milliseconds)
|
||||
{
|
||||
lc->rtp_conf.video_jitt_comp=value;
|
||||
apply_jitter_value(lc, value, MSVideo);
|
||||
lc->rtp_conf.video_jitt_comp=milliseconds;
|
||||
apply_jitter_value(lc, milliseconds, MSVideo);
|
||||
}
|
||||
|
||||
void linphone_core_set_rtp_no_xmit_on_audio_mute(LinphoneCore *lc,bool_t rtp_no_xmit_on_audio_mute){
|
||||
|
|
@ -2562,87 +2549,9 @@ void linphone_core_iterate(LinphoneCore *lc){
|
|||
}
|
||||
}
|
||||
|
||||
static LinphoneAddress* _linphone_core_destroy_addr_if_not_sip( LinphoneAddress* addr ){
|
||||
if( linphone_address_is_sip(addr) ) {
|
||||
return addr;
|
||||
} else {
|
||||
linphone_address_destroy(addr);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Interpret a call destination as supplied by the user, and returns a fully qualified
|
||||
* LinphoneAddress.
|
||||
*
|
||||
* @ingroup call_control
|
||||
*
|
||||
* A sip address should look like DisplayName \<sip:username\@domain:port\> .
|
||||
* Basically this function performs the following tasks
|
||||
* - if a phone number is entered, prepend country prefix of the default proxy
|
||||
* configuration, eventually escape the '+' by 00.
|
||||
* - if no domain part is supplied, append the domain name of the default proxy
|
||||
* - if no sip: is present, prepend it
|
||||
*
|
||||
* The result is a syntaxically correct SIP address.
|
||||
**/
|
||||
|
||||
LinphoneAddress * linphone_core_interpret_url(LinphoneCore *lc, const char *url){
|
||||
enum_lookup_res_t *enumres=NULL;
|
||||
char *enum_domain=NULL;
|
||||
LinphoneProxyConfig *proxy=lc->default_proxy;
|
||||
char *tmpurl;
|
||||
LinphoneAddress *uri;
|
||||
|
||||
if (*url=='\0') return NULL;
|
||||
|
||||
if (is_enum(url,&enum_domain)){
|
||||
linphone_core_notify_display_status(lc,_("Looking for telephone number destination..."));
|
||||
if (enum_lookup(enum_domain,&enumres)<0){
|
||||
linphone_core_notify_display_status(lc,_("Could not resolve this number."));
|
||||
ms_free(enum_domain);
|
||||
return NULL;
|
||||
}
|
||||
ms_free(enum_domain);
|
||||
tmpurl=enumres->sip_address[0];
|
||||
uri=linphone_address_new(tmpurl);
|
||||
enum_lookup_res_free(enumres);
|
||||
return _linphone_core_destroy_addr_if_not_sip(uri);
|
||||
}
|
||||
/* check if we have a "sip:" or a "sips:" */
|
||||
if ( (strstr(url,"sip:")==NULL) && (strstr(url,"sips:")==NULL) ){
|
||||
/* this doesn't look like a true sip uri */
|
||||
if (strchr(url,'@')!=NULL){
|
||||
/* seems like sip: is missing !*/
|
||||
tmpurl=ms_strdup_printf("sip:%s",url);
|
||||
uri=linphone_address_new(tmpurl);
|
||||
ms_free(tmpurl);
|
||||
if (uri){
|
||||
return _linphone_core_destroy_addr_if_not_sip(uri);
|
||||
}
|
||||
}
|
||||
|
||||
if (proxy!=NULL){
|
||||
/* append the proxy domain suffix */
|
||||
const char *identity=linphone_proxy_config_get_identity(proxy);
|
||||
char normalized_username[128];
|
||||
uri=linphone_address_new(identity);
|
||||
if (uri==NULL){
|
||||
return NULL;
|
||||
}
|
||||
linphone_address_set_display_name(uri,NULL);
|
||||
linphone_proxy_config_normalize_number(proxy,url,normalized_username,
|
||||
sizeof(normalized_username));
|
||||
linphone_address_set_username(uri,normalized_username);
|
||||
return _linphone_core_destroy_addr_if_not_sip(uri);
|
||||
}else return NULL;
|
||||
}
|
||||
uri=linphone_address_new(url);
|
||||
if (uri!=NULL){
|
||||
return _linphone_core_destroy_addr_if_not_sip(uri);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
LinphoneProxyConfig *proxy = linphone_core_get_default_proxy_config(lc);
|
||||
return linphone_proxy_config_normalize_sip_uri(proxy, url);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -3361,12 +3270,13 @@ int linphone_core_start_update_call(LinphoneCore *lc, LinphoneCall *call){
|
|||
**/
|
||||
int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params){
|
||||
int err=0;
|
||||
LinphoneCallState nextstate;
|
||||
LinphoneCallState nextstate, initial_state;
|
||||
|
||||
#if defined(VIDEO_ENABLED) && defined(BUILD_UPNP)
|
||||
bool_t has_video = FALSE;
|
||||
#endif
|
||||
|
||||
switch(call->state){
|
||||
switch(initial_state=call->state){
|
||||
case LinphoneCallIncomingReceived:
|
||||
case LinphoneCallIncomingEarlyMedia:
|
||||
case LinphoneCallOutgoingRinging:
|
||||
|
|
@ -3419,7 +3329,11 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho
|
|||
}
|
||||
}
|
||||
#endif //defined(VIDEO_ENABLED) && defined(BUILD_UPNP)
|
||||
err = linphone_core_start_update_call(lc, call);
|
||||
if ((err = linphone_core_start_update_call(lc, call)) && call->state!=initial_state) {
|
||||
/*Restore initial state*/
|
||||
linphone_call_set_state(call,initial_state,NULL);
|
||||
}
|
||||
|
||||
}else{
|
||||
#ifdef VIDEO_ENABLED
|
||||
if ((call->videostream != NULL) && (call->state == LinphoneCallStreamsRunning)) {
|
||||
|
|
@ -5065,7 +4979,7 @@ static void toggle_video_preview(LinphoneCore *lc, bool_t val){
|
|||
video_preview_set_size(lc->previewstream,vsize);
|
||||
if (display_filter)
|
||||
video_preview_set_display_filter_name(lc->previewstream,display_filter);
|
||||
if (lc->preview_window_id!=0)
|
||||
if (lc->preview_window_id != NULL)
|
||||
video_preview_set_native_window_id(lc->previewstream,lc->preview_window_id);
|
||||
video_preview_set_fps(lc->previewstream,linphone_core_get_preferred_framerate(lc));
|
||||
video_preview_start(lc->previewstream,lc->video_conf.device);
|
||||
|
|
@ -5365,7 +5279,7 @@ float linphone_core_get_static_picture_fps(LinphoneCore *lc) {
|
|||
*
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *lc){
|
||||
void * linphone_core_get_native_video_window_id(const LinphoneCore *lc){
|
||||
if (lc->video_window_id) {
|
||||
/* case where the video id was previously set by the app*/
|
||||
return lc->video_window_id;
|
||||
|
|
@ -5381,13 +5295,17 @@ unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *lc){
|
|||
}
|
||||
|
||||
/* unsets the video id for all calls (indeed it may be kept by filters or videostream object itself by paused calls)*/
|
||||
static void unset_video_window_id(LinphoneCore *lc, bool_t preview, unsigned long id){
|
||||
static void unset_video_window_id(LinphoneCore *lc, bool_t preview, void *id){
|
||||
#ifdef VIDEO_ENABLED
|
||||
LinphoneCall *call;
|
||||
MSList *elem;
|
||||
#endif
|
||||
|
||||
if (id!=0 && id!=-1) {
|
||||
if ((id != NULL)
|
||||
#ifndef _WIN32
|
||||
&& ((unsigned long)id != (unsigned long)-1)
|
||||
#endif
|
||||
){
|
||||
ms_error("Invalid use of unset_video_window_id()");
|
||||
return;
|
||||
}
|
||||
|
|
@ -5404,13 +5322,12 @@ static void unset_video_window_id(LinphoneCore *lc, bool_t preview, unsigned lon
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup media_parameters
|
||||
* Set the native video window id where the video is to be displayed.
|
||||
* For MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given.
|
||||
**/
|
||||
void linphone_core_set_native_video_window_id(LinphoneCore *lc, unsigned long id){
|
||||
if (id==0 || id==(unsigned long)-1){
|
||||
void linphone_core_set_native_video_window_id(LinphoneCore *lc, void *id){
|
||||
if ((id == NULL)
|
||||
#ifndef _WIN32
|
||||
|| ((unsigned long)id == (unsigned long)-1)
|
||||
#endif
|
||||
){
|
||||
unset_video_window_id(lc,FALSE,id);
|
||||
}
|
||||
lc->video_window_id=id;
|
||||
|
|
@ -5429,7 +5346,7 @@ void linphone_core_set_native_video_window_id(LinphoneCore *lc, unsigned long id
|
|||
*
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
unsigned long linphone_core_get_native_preview_window_id(const LinphoneCore *lc){
|
||||
void * linphone_core_get_native_preview_window_id(const LinphoneCore *lc){
|
||||
if (lc->preview_window_id){
|
||||
/*case where the id was set by the app previously*/
|
||||
return lc->preview_window_id;
|
||||
|
|
@ -5452,8 +5369,12 @@ unsigned long linphone_core_get_native_preview_window_id(const LinphoneCore *lc)
|
|||
* This has to be used in conjonction with linphone_core_use_preview_window().
|
||||
* MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given.
|
||||
**/
|
||||
void linphone_core_set_native_preview_window_id(LinphoneCore *lc, unsigned long id){
|
||||
if (id==0 || id==(unsigned long)-1){
|
||||
void linphone_core_set_native_preview_window_id(LinphoneCore *lc, void *id){
|
||||
if ((id == NULL)
|
||||
#ifndef _WIN32
|
||||
|| ((unsigned long)id == (unsigned long)-1)
|
||||
#endif
|
||||
) {
|
||||
unset_video_window_id(lc,TRUE,id);
|
||||
}
|
||||
lc->preview_window_id=id;
|
||||
|
|
@ -6020,7 +5941,8 @@ void sip_config_uninit(LinphoneCore *lc)
|
|||
sal_iterate(lc->sal);
|
||||
for(elem=config->proxies;elem!=NULL;elem=ms_list_next(elem)){
|
||||
LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)(elem->data);
|
||||
still_registered|=linphone_proxy_config_is_registered(cfg);
|
||||
LinphoneRegistrationState state = linphone_proxy_config_get_state(cfg);
|
||||
still_registered|=(state==LinphoneRegistrationOk||state==LinphoneRegistrationProgress);
|
||||
}
|
||||
ms_usleep(100000);
|
||||
}
|
||||
|
|
@ -6474,6 +6396,21 @@ LinphonePayloadType* linphone_core_find_payload_type(LinphoneCore* lc, const cha
|
|||
return NULL;
|
||||
}
|
||||
|
||||
const char* linphone_configuring_state_to_string(LinphoneConfiguringState cs){
|
||||
switch(cs){
|
||||
case LinphoneConfiguringSuccessful:
|
||||
return "LinphoneConfiguringSuccessful";
|
||||
break;
|
||||
case LinphoneConfiguringFailed:
|
||||
return "LinphoneConfiguringFailed";
|
||||
break;
|
||||
case LinphoneConfiguringSkipped:
|
||||
return "LinphoneConfiguringSkipped";
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *linphone_global_state_to_string(LinphoneGlobalState gs){
|
||||
switch(gs){
|
||||
case LinphoneGlobalOff:
|
||||
|
|
|
|||
|
|
@ -598,7 +598,7 @@ LINPHONE_PUBLIC void linphone_player_close(LinphonePlayer *obj);
|
|||
LINPHONE_PUBLIC void linphone_player_destroy(LinphonePlayer *obj);
|
||||
|
||||
/**
|
||||
* @brief Create an independent media file player.
|
||||
* Create an independent media file player.
|
||||
* This player support WAVE and MATROSKA formats.
|
||||
* @param lc A LinphoneCore object
|
||||
* @param snd_card Playback sound card. If NULL, the sound card set in LinphoneCore will be used
|
||||
|
|
@ -606,10 +606,10 @@ LINPHONE_PUBLIC void linphone_player_destroy(LinphonePlayer *obj);
|
|||
* @param window_id Id of the drawing window. Depend of video out
|
||||
* @return A pointer on the new instance. NULL if faild.
|
||||
*/
|
||||
LINPHONE_PUBLIC LinphonePlayer *linphone_core_create_local_player(LinphoneCore *lc, MSSndCard *snd_card, const char *video_out, unsigned long window_id);
|
||||
LINPHONE_PUBLIC LinphonePlayer *linphone_core_create_local_player(LinphoneCore *lc, MSSndCard *snd_card, const char *video_out, void *window_id);
|
||||
|
||||
/**
|
||||
* @brief Check whether Matroksa format is supported by the player
|
||||
* Check whether Matroksa format is supported by the player
|
||||
* @return TRUE if it is supported
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_local_player_matroska_supported(void);
|
||||
|
|
@ -721,6 +721,47 @@ LINPHONE_PUBLIC const char *linphone_call_get_remote_user_agent(LinphoneCall *ca
|
|||
LINPHONE_PUBLIC const char *linphone_call_get_remote_contact(LinphoneCall *call);
|
||||
LINPHONE_PUBLIC float linphone_call_get_play_volume(LinphoneCall *call);
|
||||
LINPHONE_PUBLIC float linphone_call_get_record_volume(LinphoneCall *call);
|
||||
|
||||
/**
|
||||
* Get speaker volume gain.
|
||||
* If the sound backend supports it, the returned gain is equal to the gain set
|
||||
* with the system mixer.
|
||||
*
|
||||
* @param call The call.
|
||||
* @return Percenatge of the max supported volume gain. Valid values are in [ 0.0 : 1.0 ].
|
||||
* In case of failure, a negative value is returned
|
||||
*/
|
||||
LINPHONE_PUBLIC float linphone_call_get_speaker_volume_gain(const LinphoneCall *call);
|
||||
|
||||
/**
|
||||
* Set speaker volume gain.
|
||||
* If the sound backend supports it, the new gain will synchronized with the system mixer.
|
||||
*
|
||||
* @param call The call.
|
||||
* @param volume Percentage of the max supported gain. Valid values are in [ 0.0 : 1.0 ].
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_call_set_speaker_volume_gain(LinphoneCall *call, float volume);
|
||||
|
||||
/**
|
||||
* Get microphone volume gain.
|
||||
* If the sound backend supports it, the returned gain is equal to the gain set
|
||||
* with the system mixer.
|
||||
*
|
||||
* @param call The call.
|
||||
* @return double Percenatge of the max supported volume gain. Valid values are in [ 0.0 : 1.0 ].
|
||||
* In case of failure, a negative value is returned
|
||||
*/
|
||||
LINPHONE_PUBLIC float linphone_call_get_microphone_volume_gain(const LinphoneCall *call);
|
||||
|
||||
/**
|
||||
* Set microphone volume gain.
|
||||
* If the sound backend supports it, the new gain will synchronized with the system mixer.
|
||||
*
|
||||
* @param call The call.
|
||||
* @param volume Percentage of the max supported gain. Valid values are in [ 0.0 : 1.0 ].
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_call_set_microphone_volume_gain(LinphoneCall *call, float volume);
|
||||
|
||||
LINPHONE_PUBLIC float linphone_call_get_current_quality(LinphoneCall *call);
|
||||
LINPHONE_PUBLIC float linphone_call_get_average_quality(LinphoneCall *call);
|
||||
LINPHONE_PUBLIC const char* linphone_call_get_authentication_token(LinphoneCall *call);
|
||||
|
|
@ -774,14 +815,14 @@ LINPHONE_PUBLIC void linphone_call_cancel_dtmfs(LinphoneCall *call);
|
|||
* Get the native window handle of the video window, casted as an unsigned long.
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
LINPHONE_PUBLIC unsigned long linphone_call_get_native_video_window_id(const LinphoneCall *call);
|
||||
LINPHONE_PUBLIC void * linphone_call_get_native_video_window_id(const LinphoneCall *call);
|
||||
|
||||
/**
|
||||
* Set the native video window id where the video is to be displayed.
|
||||
* For MacOS, Linux, Windows: if not set or 0 a window will be automatically created, unless the special id -1 is given.
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_call_set_native_video_window_id(LinphoneCall *call, unsigned long id);
|
||||
LINPHONE_PUBLIC void linphone_call_set_native_video_window_id(LinphoneCall *call, void * id);
|
||||
|
||||
/**
|
||||
* Return TRUE if this call is currently part of a conference
|
||||
|
|
@ -867,323 +908,8 @@ typedef enum _LinphoneRegistrationState{
|
|||
* @param cs sate
|
||||
*/
|
||||
LINPHONE_PUBLIC const char *linphone_registration_state_to_string(LinphoneRegistrationState cs);
|
||||
LINPHONE_PUBLIC LinphoneProxyConfig *linphone_proxy_config_new(void);
|
||||
|
||||
/**
|
||||
* Acquire a reference to the proxy config.
|
||||
* @param[in] cfg The proxy config.
|
||||
* @return The same proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneProxyConfig *linphone_proxy_config_ref(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Release reference to the proxy config.
|
||||
* @param[in] cfg The proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_unref(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Retrieve the user pointer associated with the proxy config.
|
||||
* @param[in] cfg The proxy config.
|
||||
* @return The user pointer associated with the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void *linphone_proxy_config_get_user_data(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Assign a user pointer to the proxy config.
|
||||
* @param[in] cfg The proxy config.
|
||||
* @param[in] ud The user pointer to associate with the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_user_data(LinphoneProxyConfig *cfg, void *ud);
|
||||
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_server_addr(LinphoneProxyConfig *obj, const char *server_addr);
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_identity(LinphoneProxyConfig *obj, const char *identity);
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_set_route(LinphoneProxyConfig *obj, const char *route);
|
||||
|
||||
/**
|
||||
* Sets the registration expiration time in seconds.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_expires(LinphoneProxyConfig *obj, int expires);
|
||||
|
||||
#define linphone_proxy_config_expires linphone_proxy_config_set_expires
|
||||
/**
|
||||
* Indicates either or not, REGISTRATION must be issued for this #LinphoneProxyConfig .
|
||||
* <br> In case this #LinphoneProxyConfig has been added to #LinphoneCore, follows the linphone_proxy_config_edit() rule.
|
||||
* @param obj object pointer
|
||||
* @param val if true, registration will be engaged
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_register(LinphoneProxyConfig *obj, bool_t val);
|
||||
#define linphone_proxy_config_enableregister linphone_proxy_config_enable_register
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_edit(LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_done(LinphoneProxyConfig *obj);
|
||||
/**
|
||||
* Indicates either or not, PUBLISH must be issued for this #LinphoneProxyConfig .
|
||||
* <br> In case this #LinphoneProxyConfig has been added to #LinphoneCore, follows the linphone_proxy_config_edit() rule.
|
||||
* @param obj object pointer
|
||||
* @param val if true, publish will be engaged
|
||||
*
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_publish(LinphoneProxyConfig *obj, bool_t val);
|
||||
/**
|
||||
* Set the publish expiration time in second.
|
||||
* @param obj proxy config
|
||||
* @param expires in second
|
||||
* */
|
||||
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_publish_expires(LinphoneProxyConfig *obj, int expires);
|
||||
/**
|
||||
* get the publish expiration time in second. Default value is the registration expiration value.
|
||||
* @param obj proxy config
|
||||
* @return expires in second
|
||||
* */
|
||||
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_get_publish_expires(const LinphoneProxyConfig *obj);
|
||||
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_dial_escape_plus(LinphoneProxyConfig *cfg, bool_t val);
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_dial_prefix(LinphoneProxyConfig *cfg, const char *prefix);
|
||||
|
||||
/**
|
||||
* Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @param[in] enable True to sotre quality statistics and sent them to the collector, false to disable it.
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_quality_reporting(LinphoneProxyConfig *cfg, bool_t enable);
|
||||
|
||||
/**
|
||||
* Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @return True if quality repotring is enabled, false otherwise.
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_quality_reporting_enabled(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Set the route of the collector end-point when using quality reporting. This SIP address
|
||||
* should be used on server-side to process packets directly before discarding packets. Collector address
|
||||
* should be a non existing account and will not receive any messages.
|
||||
* If NULL, reports will be send to the proxy domain.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @param[in] collector route of the collector end-point, if NULL PUBLISH will be sent to the proxy domain.
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_quality_reporting_collector(LinphoneProxyConfig *cfg, const char *collector);
|
||||
|
||||
/**
|
||||
* Get the route of the collector end-point when using quality reporting. This SIP address
|
||||
* should be used on server-side to process packets directly before discarding packets. Collector address
|
||||
* should be a non existing account and will not receive any messages.
|
||||
* If NULL, reports will be send to the proxy domain.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @return The SIP address of the collector end-point.
|
||||
*/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_quality_reporting_collector(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Set the interval between 2 interval reports sending when using quality reporting. If call exceed interval size, an
|
||||
* interval report will be sent to the collector. On call termination, a session report will be sent
|
||||
* for the remaining period. Value must be 0 (disabled) or positive.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @param[in] interval The interval in seconds, 0 means interval reports are disabled.
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_quality_reporting_interval(LinphoneProxyConfig *cfg, uint8_t interval);
|
||||
|
||||
/**
|
||||
* Get the interval between interval reports when using quality reporting.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @return The interval in seconds, 0 means interval reports are disabled.
|
||||
*/
|
||||
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_get_quality_reporting_interval(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the registration state of the given proxy config.
|
||||
* @param[in] obj #LinphoneProxyConfig object.
|
||||
* @return The registration state of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneRegistrationState linphone_proxy_config_get_state(const LinphoneProxyConfig *obj);
|
||||
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *obj);
|
||||
|
||||
/**
|
||||
* Get the domain name of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The domain name of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_domain(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the realm of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The realm of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_realm(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Set the realm of the given proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @param[in] realm New realm value.
|
||||
* @return The realm of the proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_realm(LinphoneProxyConfig *cfg, const char * realm);
|
||||
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_route(const LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_identity(const LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_publish_enabled(const LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_server_addr(const LinphoneProxyConfig *obj);
|
||||
#define linphone_proxy_config_get_addr linphone_proxy_config_get_server_addr
|
||||
LINPHONE_PUBLIC int linphone_proxy_config_get_expires(const LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_register_enabled(const LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_refresh_register(LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_pause_register(LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_contact_parameters(const LinphoneProxyConfig *obj);
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_contact_parameters(LinphoneProxyConfig *obj, const char *contact_params);
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_contact_uri_parameters(LinphoneProxyConfig *obj, const char *contact_uri_params);
|
||||
LINPHONE_PUBLIC const char* linphone_proxy_config_get_contact_uri_parameters(const LinphoneProxyConfig *obj);
|
||||
|
||||
/**
|
||||
* Get the #LinphoneCore object to which is associated the #LinphoneProxyConfig.
|
||||
* @param[in] obj #LinphoneProxyConfig object.
|
||||
* @return The #LinphoneCore object to which is associated the #LinphoneProxyConfig.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyConfig *obj);
|
||||
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_get_dial_escape_plus(const LinphoneProxyConfig *cfg);
|
||||
LINPHONE_PUBLIC const char * linphone_proxy_config_get_dial_prefix(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the reason why registration failed when the proxy config state is LinphoneRegistrationFailed.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The reason why registration failed for this proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneReason linphone_proxy_config_get_error(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get detailed information why registration failed when the proxy config state is LinphoneRegistrationFailed.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The details why registration failed for this proxy config.
|
||||
**/
|
||||
LINPHONE_PUBLIC const LinphoneErrorInfo *linphone_proxy_config_get_error_info(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get the transport from either service route, route or addr.
|
||||
* @param[in] cfg #LinphoneProxyConfig object.
|
||||
* @return The transport as a string (I.E udp, tcp, tls, dtls)
|
||||
**/
|
||||
LINPHONE_PUBLIC const char* linphone_proxy_config_get_transport(const LinphoneProxyConfig *cfg);
|
||||
|
||||
|
||||
/* destruction is called automatically when removing the proxy config */
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_destroy(LinphoneProxyConfig *cfg);
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_sip_setup(LinphoneProxyConfig *cfg, const char *type);
|
||||
LINPHONE_PUBLIC SipSetupContext *linphone_proxy_config_get_sip_setup_context(LinphoneProxyConfig *cfg);
|
||||
LINPHONE_PUBLIC SipSetup *linphone_proxy_config_get_sip_setup(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Detect if the given input is a phone number or not.
|
||||
* @param proxy #LinphoneProxyConfig argument, unused yet but may contain useful data. Can be NULL.
|
||||
* @param username string to parse.
|
||||
* @return TRUE if input is a phone number, FALSE otherwise.
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_is_phone_number(LinphoneProxyConfig *proxy, const char *username);
|
||||
|
||||
/**
|
||||
* Normalize a human readable phone number into a basic string. 888-444-222 becomes 888444222
|
||||
* or +33888444222 depending on the #LinphoneProxyConfig object. However this argument is OPTIONNAL
|
||||
* and if not provided, a default one will be used.
|
||||
* This function will always generate a normalized username; if input is not a phone number, output will be a copy of input.
|
||||
* @param proxy #LinphoneProxyConfig object containing country code and/or escape symbol. If NULL passed, will use default configuration.
|
||||
* @param username the string to parse
|
||||
* @param result the newly normalized number
|
||||
* @param result_len the size of the normalized number \a result
|
||||
* @return TRUE if a phone number was recognized, FALSE otherwise.
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_normalize_number(LinphoneProxyConfig *proxy, const char *username,
|
||||
char *result, size_t result_len);
|
||||
|
||||
/**
|
||||
* Set default privacy policy for all calls routed through this proxy.
|
||||
* @param cfg #LinphoneProxyConfig object to be modified
|
||||
* @param privacy LinphonePrivacy to configure privacy
|
||||
* */
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_privacy(LinphoneProxyConfig *cfg, LinphonePrivacyMask privacy);
|
||||
/**
|
||||
* Get default privacy policy for all calls routed through this proxy.
|
||||
* @param cfg #LinphoneProxyConfig object
|
||||
* @return Privacy mode
|
||||
* */
|
||||
LINPHONE_PUBLIC LinphonePrivacyMask linphone_proxy_config_get_privacy(const LinphoneProxyConfig *cfg);
|
||||
/**
|
||||
* Set the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml
|
||||
* @param cfg #LinphoneProxyConfig object to be modified
|
||||
* @param server_url URL of the file server like https://file.linphone.org/upload.php
|
||||
* */
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_file_transfer_server(LinphoneProxyConfig *cfg, const char * server_url);
|
||||
/**
|
||||
* Get the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml
|
||||
* @param cfg #LinphoneProxyConfig object
|
||||
* @return URL of the file server like https://file.linphone.org/upload.php
|
||||
* */
|
||||
LINPHONE_PUBLIC const char* linphone_proxy_config_get_file_transfer_server(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Indicates whether AVPF/SAVPF must be used for calls using this proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @param[in] enable True to enable AVPF/SAVF, false to disable it.
|
||||
* @deprecated use linphone_proxy_config_set_avpf_mode()
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_enable_avpf(LinphoneProxyConfig *cfg, bool_t enable);
|
||||
|
||||
/**
|
||||
* Indicates whether AVPF/SAVPF is being used for calls using this proxy config.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @return True if AVPF/SAVPF is enabled, false otherwise.
|
||||
* @deprecated use linphone_proxy_config_set_avpf_mode()
|
||||
*/
|
||||
LINPHONE_PUBLIC bool_t linphone_proxy_config_avpf_enabled(LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Set the interval between regular RTCP reports when using AVPF/SAVPF.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @param[in] interval The interval in seconds (between 0 and 5 seconds).
|
||||
*/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_avpf_rr_interval(LinphoneProxyConfig *cfg, uint8_t interval);
|
||||
|
||||
/**
|
||||
* Get the interval between regular RTCP reports when using AVPF/SAVPF.
|
||||
* @param[in] cfg #LinphoneProxyConfig object
|
||||
* @return The interval in seconds.
|
||||
*/
|
||||
LINPHONE_PUBLIC uint8_t linphone_proxy_config_get_avpf_rr_interval(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Get enablement status of RTCP feedback (also known as AVPF profile).
|
||||
* @param[in] cfg the proxy config
|
||||
* @return the enablement mode, which can be LinphoneAVPFDefault (use LinphoneCore's mode), LinphoneAVPFEnabled (avpf is enabled), or LinphoneAVPFDisabled (disabled).
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneAVPFMode linphone_proxy_config_get_avpf_mode(const LinphoneProxyConfig *cfg);
|
||||
|
||||
/**
|
||||
* Enable the use of RTCP feedback (also known as AVPF profile).
|
||||
* @param[in] cfg the proxy config
|
||||
* @param[in] mode the enablement mode, which can be LinphoneAVPFDefault (use LinphoneCore's mode), LinphoneAVPFEnabled (avpf is enabled), or LinphoneAVPFDisabled (disabled).
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_avpf_mode(LinphoneProxyConfig *cfg, LinphoneAVPFMode mode);
|
||||
|
||||
/**
|
||||
* Obtain the value of a header sent by the server in last answer to REGISTER.
|
||||
* @param cfg the proxy config object
|
||||
* @param header_name the header name for which to fetch corresponding value
|
||||
* @return the value of the queried header.
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_proxy_config_get_custom_header(LinphoneProxyConfig *cfg, const char *header_name);
|
||||
|
||||
/**
|
||||
* Set the value of a custom header sent to the server in REGISTERs request.
|
||||
* @param cfg the proxy config object
|
||||
* @param header_name the header name
|
||||
* @param header_value the header's value
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_proxy_config_set_custom_header(LinphoneProxyConfig *cfg, const char *header_name, const char *header_value);
|
||||
/**
|
||||
* @}
|
||||
**/
|
||||
#include "linphone_proxy_config.h"
|
||||
|
||||
struct _LinphoneAuthInfo;
|
||||
|
||||
|
|
@ -2141,6 +1867,12 @@ typedef enum _LinphoneConfiguringState {
|
|||
LinphoneConfiguringSkipped
|
||||
} LinphoneConfiguringState;
|
||||
|
||||
/**
|
||||
* Converts a _LinphoneConfiguringState enum to a string.
|
||||
* @ingroup misc
|
||||
**/
|
||||
LINPHONE_PUBLIC const char *linphone_configuring_state_to_string(LinphoneConfiguringState cs);
|
||||
|
||||
/**
|
||||
* Callback prototype for configuring status changes notification
|
||||
* @param lc the LinphoneCore
|
||||
|
|
@ -2498,6 +2230,7 @@ LINPHONE_PUBLIC void linphone_core_remove_listener(LinphoneCore *lc, const Linph
|
|||
/*sets the user-agent string in sip messages, ideally called just after linphone_core_new() or linphone_core_init() */
|
||||
LINPHONE_PUBLIC void linphone_core_set_user_agent(LinphoneCore *lc, const char *ua_name, const char *version);
|
||||
|
||||
/** @deprecated Use linphone_proxy_config_normalize_sip_uri instead. */
|
||||
LINPHONE_PUBLIC LinphoneAddress * linphone_core_interpret_url(LinphoneCore *lc, const char *url);
|
||||
|
||||
LINPHONE_PUBLIC LinphoneCall * linphone_core_invite(LinphoneCore *lc, const char *url);
|
||||
|
|
@ -2916,6 +2649,10 @@ LINPHONE_PUBLIC bool_t linphone_core_check_payload_type_usability(LinphoneCore *
|
|||
*/
|
||||
LINPHONE_PUBLIC LinphoneProxyConfig * linphone_core_create_proxy_config(LinphoneCore *lc);
|
||||
|
||||
/**
|
||||
* Add a proxy configuration.
|
||||
* This will start registration on the proxy, if registration is enabled.
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_core_add_proxy_config(LinphoneCore *lc, LinphoneProxyConfig *config);
|
||||
|
||||
/**
|
||||
|
|
@ -2925,6 +2662,12 @@ LINPHONE_PUBLIC int linphone_core_add_proxy_config(LinphoneCore *lc, LinphonePro
|
|||
**/
|
||||
LINPHONE_PUBLIC void linphone_core_clear_proxy_config(LinphoneCore *lc);
|
||||
|
||||
/**
|
||||
* Removes a proxy configuration.
|
||||
*
|
||||
* LinphoneCore will then automatically unregister and place the proxy configuration
|
||||
* on a deleted list. For that reason, a removed proxy does NOT need to be freed.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_core_remove_proxy_config(LinphoneCore *lc, LinphoneProxyConfig *config);
|
||||
|
||||
/**
|
||||
|
|
@ -2939,10 +2682,28 @@ LINPHONE_PUBLIC const MSList *linphone_core_get_proxy_config_list(const Linphone
|
|||
|
||||
LINPHONE_PUBLIC void linphone_core_set_default_proxy_index(LinphoneCore *lc, int index);
|
||||
|
||||
/**
|
||||
* @return the default proxy configuration, that is the one used to determine the current identity.
|
||||
* @deprecated Use linphone_core_get_default_proxy_config() instead.
|
||||
**/
|
||||
LINPHONE_PUBLIC int linphone_core_get_default_proxy(LinphoneCore *lc, LinphoneProxyConfig **config);
|
||||
|
||||
/**
|
||||
* @return the default proxy configuration, that is the one used to determine the current identity.
|
||||
* @param[in] lc LinphoneCore object
|
||||
* @return The default proxy configuration.
|
||||
**/
|
||||
LINPHONE_PUBLIC LinphoneProxyConfig * linphone_core_get_default_proxy_config(LinphoneCore *lc);
|
||||
|
||||
/**
|
||||
* Sets the default proxy.
|
||||
*
|
||||
* This default proxy must be part of the list of already entered LinphoneProxyConfig.
|
||||
* Toggling it as default will make LinphoneCore use the identity associated with
|
||||
* the proxy configuration in all incoming and outgoing calls.
|
||||
* @param[in] lc LinphoneCore object
|
||||
* @param[in] config The proxy configuration to use as the default one.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_core_set_default_proxy_config(LinphoneCore *lc, LinphoneProxyConfig *config);
|
||||
|
||||
/**
|
||||
|
|
@ -2989,7 +2750,14 @@ LINPHONE_PUBLIC bool_t linphone_core_audio_adaptive_jittcomp_enabled(LinphoneCor
|
|||
|
||||
LINPHONE_PUBLIC int linphone_core_get_audio_jittcomp(LinphoneCore *lc);
|
||||
|
||||
LINPHONE_PUBLIC void linphone_core_set_audio_jittcomp(LinphoneCore *lc, int value);
|
||||
/**
|
||||
* Sets the nominal audio jitter buffer size in milliseconds.
|
||||
* The value takes effect immediately for all running and pending calls, if any.
|
||||
* A value of 0 disables the jitter buffer.
|
||||
*
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_core_set_audio_jittcomp(LinphoneCore *lc, int milliseconds);
|
||||
|
||||
/**
|
||||
* Enable or disable the video adaptive jitter compensation.
|
||||
|
|
@ -3009,7 +2777,14 @@ LINPHONE_PUBLIC bool_t linphone_core_video_adaptive_jittcomp_enabled(LinphoneCor
|
|||
|
||||
LINPHONE_PUBLIC int linphone_core_get_video_jittcomp(LinphoneCore *lc);
|
||||
|
||||
LINPHONE_PUBLIC void linphone_core_set_video_jittcomp(LinphoneCore *lc, int value);
|
||||
/**
|
||||
* Sets the nominal video jitter buffer size in milliseconds.
|
||||
* The value takes effect immediately for all running and pending calls, if any.
|
||||
* A value of 0 disables the jitter buffer.
|
||||
*
|
||||
* @ingroup media_parameters
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_core_set_video_jittcomp(LinphoneCore *lc, int milliseconds);
|
||||
|
||||
LINPHONE_PUBLIC int linphone_core_get_audio_port(const LinphoneCore *lc);
|
||||
|
||||
|
|
@ -3560,11 +3335,28 @@ LINPHONE_PUBLIC int linphone_core_set_static_picture_fps(LinphoneCore *lc, float
|
|||
LINPHONE_PUBLIC float linphone_core_get_static_picture_fps(LinphoneCore *lc);
|
||||
|
||||
/*function to be used for eventually setting window decorations (icons, title...)*/
|
||||
LINPHONE_PUBLIC unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *lc);
|
||||
LINPHONE_PUBLIC void linphone_core_set_native_video_window_id(LinphoneCore *lc, unsigned long id);
|
||||
LINPHONE_PUBLIC void * linphone_core_get_native_video_window_id(const LinphoneCore *lc);
|
||||
|
||||
LINPHONE_PUBLIC unsigned long linphone_core_get_native_preview_window_id(const LinphoneCore *lc);
|
||||
LINPHONE_PUBLIC void linphone_core_set_native_preview_window_id(LinphoneCore *lc, unsigned long id);
|
||||
/**
|
||||
* @ingroup media_parameters
|
||||
* For MacOS, Linux, Windows: core will create its own window
|
||||
* */
|
||||
#define LINPHONE_VIDEO_DISPLAY_AUTO (void*)((unsigned long) 0)
|
||||
/**
|
||||
* @ingroup media_parameters
|
||||
* For MacOS, Linux, Windows: do nothing
|
||||
* */
|
||||
|
||||
#define LINPHONE_VIDEO_DISPLAY_NONE (void*)((unsigned long) -1)
|
||||
/**
|
||||
* @ingroup media_parameters
|
||||
* Set the native video window id where the video is to be displayed.
|
||||
* For MacOS, Linux, Windows: if not set or LINPHONE_VIDEO_DISPLAY_AUTO the core will create its own window, unless the special id LINPHONE_VIDEO_DISPLAY_NONE is given.
|
||||
**/
|
||||
LINPHONE_PUBLIC void linphone_core_set_native_video_window_id(LinphoneCore *lc, void *id);
|
||||
|
||||
LINPHONE_PUBLIC void * linphone_core_get_native_preview_window_id(const LinphoneCore *lc);
|
||||
LINPHONE_PUBLIC void linphone_core_set_native_preview_window_id(LinphoneCore *lc, void *id);
|
||||
|
||||
/**
|
||||
* Tells the core to use a separate window for local camera preview video, instead of
|
||||
|
|
@ -3777,6 +3569,11 @@ LINPHONE_PUBLIC LinphoneCall* linphone_core_find_call_from_uri(const LinphoneCor
|
|||
LINPHONE_PUBLIC int linphone_core_add_to_conference(LinphoneCore *lc, LinphoneCall *call);
|
||||
LINPHONE_PUBLIC int linphone_core_add_all_to_conference(LinphoneCore *lc);
|
||||
LINPHONE_PUBLIC int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *call);
|
||||
/**
|
||||
* Indicates whether the local participant is part of a conference.
|
||||
* @param lc the linphone core
|
||||
* @return TRUE if the local participant is in a conference, FALSE otherwise.
|
||||
**/
|
||||
LINPHONE_PUBLIC bool_t linphone_core_is_in_conference(const LinphoneCore *lc);
|
||||
LINPHONE_PUBLIC int linphone_core_enter_conference(LinphoneCore *lc);
|
||||
LINPHONE_PUBLIC int linphone_core_leave_conference(LinphoneCore *lc);
|
||||
|
|
|
|||
|
|
@ -3488,7 +3488,7 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setVideoWindowId(JNIEnv*
|
|||
obj = env->NewGlobalRef(obj);
|
||||
ms_message("Java_org_linphone_core_LinphoneCoreImpl_setVideoWindowId(): NewGlobalRef(%p)",obj);
|
||||
}else ms_message("Java_org_linphone_core_LinphoneCoreImpl_setVideoWindowId(): setting to NULL");
|
||||
linphone_core_set_native_video_window_id((LinphoneCore*)lc,(unsigned long)obj);
|
||||
linphone_core_set_native_video_window_id((LinphoneCore*)lc,(void *)obj);
|
||||
if (oldWindow != NULL) {
|
||||
ms_message("Java_org_linphone_core_LinphoneCoreImpl_setVideoWindowId(): DeleteGlobalRef(%p)",oldWindow);
|
||||
env->DeleteGlobalRef(oldWindow);
|
||||
|
|
@ -3504,7 +3504,7 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setPreviewWindowId(JNIEn
|
|||
obj = env->NewGlobalRef(obj);
|
||||
ms_message("Java_org_linphone_core_LinphoneCoreImpl_setPreviewWindowId(): NewGlobalRef(%p)",obj);
|
||||
}else ms_message("Java_org_linphone_core_LinphoneCoreImpl_setPreviewWindowId(): setting to NULL");
|
||||
linphone_core_set_native_preview_window_id((LinphoneCore*)lc,(unsigned long)obj);
|
||||
linphone_core_set_native_preview_window_id((LinphoneCore*)lc,(void *)obj);
|
||||
if (oldWindow != NULL) {
|
||||
ms_message("Java_org_linphone_core_LinphoneCoreImpl_setPreviewWindowId(): DeleteGlobalRef(%p)",oldWindow);
|
||||
env->DeleteGlobalRef(oldWindow);
|
||||
|
|
@ -6031,7 +6031,7 @@ extern "C" void Java_org_linphone_core_LinphonePlayerImpl_destroy(JNIEnv *env, j
|
|||
extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_createLocalPlayer(JNIEnv *env, jobject jobj, jlong ptr, jobject window) {
|
||||
jobject window_ref = NULL;
|
||||
window_ref = env->NewGlobalRef(window);
|
||||
LinphonePlayer *player = linphone_core_create_local_player((LinphoneCore *)ptr, NULL, "MSAndroidDisplay", (unsigned long)window_ref);
|
||||
LinphonePlayer *player = linphone_core_create_local_player((LinphoneCore *)ptr, NULL, "MSAndroidDisplay", (void *)window_ref);
|
||||
if(player == NULL) {
|
||||
ms_error("Fails to create a player");
|
||||
if(window_ref) env->DeleteGlobalRef(window_ref);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ static void _local_player_close(LinphonePlayer *obj);
|
|||
static void _local_player_destroy(LinphonePlayer *obj);
|
||||
static void _local_player_eof_callback(void *user_data);
|
||||
|
||||
LinphonePlayer *linphone_core_create_local_player(LinphoneCore *lc, MSSndCard *snd_card, const char *video_out, unsigned long window_id) {
|
||||
LinphonePlayer *linphone_core_create_local_player(LinphoneCore *lc, MSSndCard *snd_card, const char *video_out, void *window_id) {
|
||||
LinphonePlayer *obj = ms_new0(LinphonePlayer, 1);
|
||||
if(snd_card == NULL) snd_card = lc->sound_conf.ring_sndcard;
|
||||
if(video_out == NULL) video_out = linphone_core_get_video_display_filter(lc);
|
||||
|
|
|
|||
|
|
@ -85,6 +85,17 @@ struct _LpConfig{
|
|||
int readonly;
|
||||
};
|
||||
|
||||
char* lp_realpath(const char* file, char* name) {
|
||||
#ifdef _WIN32
|
||||
return ms_strdup(file);
|
||||
#else
|
||||
char * output = realpath(file, name);
|
||||
char * msoutput = ms_strdup(output);
|
||||
free(output);
|
||||
return msoutput;
|
||||
#endif
|
||||
}
|
||||
|
||||
LpItem * lp_item_new(const char *key, const char *value){
|
||||
LpItem *item=lp_new0(LpItem,1);
|
||||
item->key=ortp_strdup(key);
|
||||
|
|
@ -359,16 +370,16 @@ LpConfig *lp_config_new_with_factory(const char *config_filename, const char *fa
|
|||
LpConfig *lpconfig=lp_new0(LpConfig,1);
|
||||
lpconfig->refcnt=1;
|
||||
if (config_filename!=NULL){
|
||||
ms_message("Using (r/w) config information from %s", config_filename);
|
||||
lpconfig->filename=ortp_strdup(config_filename);
|
||||
lpconfig->tmpfilename=ortp_strdup_printf("%s.tmp",config_filename);
|
||||
lpconfig->filename=lp_realpath(config_filename, NULL);
|
||||
lpconfig->tmpfilename=ortp_strdup_printf("%s.tmp",lpconfig->filename);
|
||||
ms_message("Using (r/w) config information from %s", lpconfig->filename);
|
||||
|
||||
#if !defined(_WIN32)
|
||||
{
|
||||
struct stat fileStat;
|
||||
if ((stat(config_filename,&fileStat) == 0) && (S_ISREG(fileStat.st_mode))) {
|
||||
if ((stat(lpconfig->filename,&fileStat) == 0) && (S_ISREG(fileStat.st_mode))) {
|
||||
/* make existing configuration files non-group/world-accessible */
|
||||
if (chmod(config_filename, S_IRUSR | S_IWUSR) == -1) {
|
||||
if (chmod(lpconfig->filename, S_IRUSR | S_IWUSR) == -1) {
|
||||
ms_warning("unable to correct permissions on "
|
||||
"configuration file: %s", strerror(errno));
|
||||
}
|
||||
|
|
@ -400,14 +411,16 @@ LpConfig *lp_config_new_with_factory(const char *config_filename, const char *fa
|
|||
}
|
||||
|
||||
int lp_config_read_file(LpConfig *lpconfig, const char *filename){
|
||||
FILE* f=fopen(filename,"r");
|
||||
char* path = lp_realpath(filename, NULL);
|
||||
FILE* f=fopen(path,"r");
|
||||
if (f!=NULL){
|
||||
ms_message("Reading config information from %s", filename);
|
||||
ms_message("Reading config information from %s", path);
|
||||
lp_config_parse(lpconfig,f);
|
||||
fclose(f);
|
||||
return 0;
|
||||
}
|
||||
ms_warning("Fail to open file %s",filename);
|
||||
ms_warning("Fail to open file %s",path);
|
||||
ms_free(path);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -725,9 +738,11 @@ bool_t lp_config_relative_file_exists(const LpConfig *lpconfig, const char *file
|
|||
} else {
|
||||
char *dir = _lp_config_dirname(lpconfig->filename);
|
||||
char *filepath = ms_strdup_printf("%s/%s", dir, filename);
|
||||
FILE *file = fopen(filepath, "r");
|
||||
char *realfilepath = lp_realpath(filepath, NULL);
|
||||
FILE *file = fopen(realfilepath, "r");
|
||||
ms_free(dir);
|
||||
ms_free(filepath);
|
||||
ms_free(realfilepath);
|
||||
if (file) {
|
||||
fclose(file);
|
||||
}
|
||||
|
|
@ -740,15 +755,17 @@ void lp_config_write_relative_file(const LpConfig *lpconfig, const char *filenam
|
|||
if(strlen(data) > 0) {
|
||||
char *dir = _lp_config_dirname(lpconfig->filename);
|
||||
char *filepath = ms_strdup_printf("%s/%s", dir, filename);
|
||||
FILE *file = fopen(filepath, "w");
|
||||
char *realfilepath = lp_realpath(filepath, NULL);
|
||||
FILE *file = fopen(realfilepath, "w");
|
||||
if(file != NULL) {
|
||||
fprintf(file, "%s", data);
|
||||
fclose(file);
|
||||
} else {
|
||||
ms_error("Could not open %s for write", filepath);
|
||||
ms_error("Could not open %s for write", realfilepath);
|
||||
}
|
||||
ms_free(dir);
|
||||
ms_free(filepath);
|
||||
ms_free(realfilepath);
|
||||
} else {
|
||||
ms_warning("%s has not been created because there is no data to write", filename);
|
||||
}
|
||||
|
|
@ -758,27 +775,30 @@ int lp_config_read_relative_file(const LpConfig *lpconfig, const char *filename,
|
|||
char *dir;
|
||||
char *filepath;
|
||||
FILE *file;
|
||||
|
||||
char* realfilepath;
|
||||
if (lpconfig->filename == NULL) return -1;
|
||||
dir = _lp_config_dirname(lpconfig->filename);
|
||||
filepath = ms_strdup_printf("%s/%s", dir, filename);
|
||||
file = fopen(filepath, "r");
|
||||
realfilepath = lp_realpath(filepath, NULL);
|
||||
file = fopen(realfilepath, "r");
|
||||
if(file != NULL) {
|
||||
if(fread(data, 1, max_length, file)<=0) {
|
||||
ms_error("%s could not be loaded. %s", filepath, strerror(errno));
|
||||
ms_error("%s could not be loaded. %s", realfilepath, strerror(errno));
|
||||
goto err;
|
||||
}
|
||||
fclose(file);
|
||||
} else {
|
||||
ms_error("Could not open %s for read. %s", filepath, strerror(errno));
|
||||
ms_error("Could not open %s for read. %s", realfilepath, strerror(errno));
|
||||
goto err;
|
||||
}
|
||||
ms_free(dir);
|
||||
ms_free(filepath);
|
||||
ms_free(realfilepath);
|
||||
return 0;
|
||||
|
||||
err:
|
||||
ms_free(dir);
|
||||
ms_free(filepath);
|
||||
ms_free(realfilepath);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#define MAX_PATH_SIZE 1024
|
||||
|
||||
#include "sqlite3.h"
|
||||
#include <assert.h>
|
||||
|
||||
static ORTP_INLINE LinphoneChatMessage* get_transient_message(LinphoneChatRoom* cr, unsigned int storage_id){
|
||||
MSList* transients = cr->transient_messages;
|
||||
|
|
@ -286,6 +287,9 @@ void linphone_chat_room_mark_as_read(LinphoneChatRoom *cr){
|
|||
char *buf;
|
||||
|
||||
if (lc->db==NULL) return ;
|
||||
|
||||
// optimization: do not modify the database if no message is marked as unread
|
||||
if(linphone_chat_room_get_unread_messages_count(cr) == 0) return;
|
||||
|
||||
peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr));
|
||||
buf=sqlite3_mprintf("UPDATE history SET read=%i WHERE remoteContact = %Q;",
|
||||
|
|
@ -293,6 +297,8 @@ void linphone_chat_room_mark_as_read(LinphoneChatRoom *cr){
|
|||
linphone_sql_request(lc->db,buf);
|
||||
sqlite3_free(buf);
|
||||
ms_free(peer);
|
||||
|
||||
cr->unread_count = 0;
|
||||
}
|
||||
|
||||
void linphone_chat_room_update_url(LinphoneChatRoom *cr, LinphoneChatMessage *msg) {
|
||||
|
|
@ -315,6 +321,9 @@ static int linphone_chat_room_get_messages_count(LinphoneChatRoom *cr, bool_t un
|
|||
int returnValue;
|
||||
|
||||
if (lc->db==NULL) return 0;
|
||||
|
||||
// optimization: do not read database if the count is already available in memory
|
||||
if(unread_only && cr->unread_count >= 0) return cr->unread_count;
|
||||
|
||||
peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr));
|
||||
buf=sqlite3_mprintf("SELECT count(*) FROM history WHERE remoteContact = %Q %s;",peer,unread_only?"AND read = 0":"");
|
||||
|
|
@ -327,6 +336,11 @@ static int linphone_chat_room_get_messages_count(LinphoneChatRoom *cr, bool_t un
|
|||
sqlite3_finalize(selectStatement);
|
||||
sqlite3_free(buf);
|
||||
ms_free(peer);
|
||||
|
||||
/* no need to test the sign of cr->unread_count here
|
||||
* because it has been tested above */
|
||||
if(unread_only) cr->unread_count = numrows;
|
||||
|
||||
return numrows;
|
||||
}
|
||||
|
||||
|
|
@ -347,6 +361,11 @@ void linphone_chat_room_delete_message(LinphoneChatRoom *cr, LinphoneChatMessage
|
|||
buf=sqlite3_mprintf("DELETE FROM history WHERE id = %i;", msg->storage_id);
|
||||
linphone_sql_request(lc->db,buf);
|
||||
sqlite3_free(buf);
|
||||
|
||||
if(cr->unread_count >= 0 && !msg->is_read) {
|
||||
assert(cr->unread_count > 0);
|
||||
cr->unread_count--;
|
||||
}
|
||||
}
|
||||
|
||||
void linphone_chat_room_delete_history(LinphoneChatRoom *cr){
|
||||
|
|
@ -361,6 +380,8 @@ void linphone_chat_room_delete_history(LinphoneChatRoom *cr){
|
|||
linphone_sql_request(lc->db,buf);
|
||||
sqlite3_free(buf);
|
||||
ms_free(peer);
|
||||
|
||||
if(cr->unread_count > 0) cr->unread_count = 0;
|
||||
}
|
||||
|
||||
MSList *linphone_chat_room_get_history_range(LinphoneChatRoom *cr, int startm, int endm){
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ bool_t linphone_core_check_payload_type_usability(LinphoneCore *lc, const Payloa
|
|||
}
|
||||
|
||||
bool_t lp_spawn_command_line_sync(const char *command, char **result,int *command_ret){
|
||||
#if !defined(_WIN32_WCE)
|
||||
#if !defined(_WIN32_WCE) && !defined(LINPHONE_WINDOWS_UNIVERSAL)
|
||||
FILE *f=popen(command,"r");
|
||||
if (f!=NULL){
|
||||
int err;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ static void fill_buddy_info(BLReq *blreq, BuddyInfo *bi, GHashTable *ht){
|
|||
}else{
|
||||
strncpy(bi->sip_uri,tmp,sizeof(bi->sip_uri)-1);
|
||||
}
|
||||
|
||||
|
||||
fill_item(ht,"street",bi->address.street,sizeof(bi->address.street));
|
||||
fill_item(ht,"zip",bi->address.zip,sizeof(bi->address.zip));
|
||||
fill_item(ht,"city",bi->address.town,sizeof(bi->address.town));
|
||||
|
|
@ -105,7 +105,7 @@ static void fill_buddy_info(BLReq *blreq, BuddyInfo *bi, GHashTable *ht){
|
|||
ms_error("Fail to fetch the image %i",status);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
static MSList * make_buddy_list(BLReq *blreq, GValue *retval){
|
||||
|
|
@ -156,7 +156,7 @@ static int xml_rpc_parse_response(BLReq *blreq, SoupMessage *sm){
|
|||
|
||||
#if SERIALIZE_HTTPS
|
||||
/*on windows libsoup support for threads with gnutls is not yet functionnal (only in git)
|
||||
This will come in next release of libsoup, probably.
|
||||
This will come in next release of libsoup, probably.
|
||||
In the meantime, we are forced to serialize all soup https processing with a big
|
||||
ugly global mutex...*/
|
||||
|
||||
|
|
@ -191,27 +191,26 @@ static int lookup_buddy(SipSetupContext *ctx, BLReq *req){
|
|||
LinphoneProxyConfig *cfg=sip_setup_context_get_proxy_config(ctx);
|
||||
LinphoneCore *lc=linphone_proxy_config_get_core(cfg);
|
||||
LpConfig *config=linphone_core_get_config(lc);
|
||||
const char *identity=linphone_proxy_config_get_identity(cfg);
|
||||
LinphoneAddress *from=linphone_proxy_config_get_identity_address(cfg);
|
||||
const char *url=lp_config_get_string(config,"BuddyLookup","url",NULL);
|
||||
const LinphoneAuthInfo *aa;
|
||||
const LinphoneAuthInfo *auth_info;
|
||||
SoupMessage *sm;
|
||||
LinphoneAddress *from;
|
||||
|
||||
char *identity;
|
||||
|
||||
if (url==NULL){
|
||||
ms_error("No url defined for BuddyLookup in config file, aborting search.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
from=linphone_address_new(identity);
|
||||
if (from==NULL){
|
||||
ms_error("Could not parse identity %s",identity);
|
||||
return -1;
|
||||
auth_info=linphone_core_find_auth_info(lc,linphone_address_get_domain(from),linphone_address_get_username(from));
|
||||
if (auth_info) {
|
||||
ms_message("There is a password: %s",auth_info->passwd);
|
||||
} else {
|
||||
ms_message("No password for %s on %s",linphone_address_get_username(from),linphone_address_get_domain(from));
|
||||
}
|
||||
aa=linphone_core_find_auth_info(lc,linphone_address_get_domain(from),linphone_address_get_username(from));
|
||||
if (aa) ms_message("There is a password: %s",aa->passwd);
|
||||
else ms_message("No password for %s on %s",linphone_address_get_username(from),linphone_address_get_domain(from));
|
||||
sm=build_xmlrpc_request(identity, aa ? aa->passwd : NULL, req->base.key, linphone_address_get_domain(from), url, req->base.max_results);
|
||||
linphone_address_destroy(from);
|
||||
|
||||
identity=linphone_proxy_config_get_identity(cfg);
|
||||
sm=build_xmlrpc_request(identity, auth_info ? auth_info->passwd : NULL, req->base.key, linphone_address_get_domain(from), url, req->base.max_results);
|
||||
ms_free(identity);
|
||||
req->msg=sm;
|
||||
ortp_thread_create(&req->th,NULL,process_xml_rpc_request,req);
|
||||
if (!sm) return -1;
|
||||
|
|
|
|||
|
|
@ -66,7 +66,20 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// prevent libintl.h from re-defining fprintf and vfprintf
|
||||
#ifndef fprintf
|
||||
#define fprintf fprintf
|
||||
#endif
|
||||
#ifndef vfprintf
|
||||
#define vfprintf vfprintf
|
||||
#endif
|
||||
#define _GL_STDIO_H
|
||||
#endif
|
||||
|
||||
#include <libintl.h>
|
||||
|
||||
#ifndef _
|
||||
#define _(String) dgettext(GETTEXT_PACKAGE,String)
|
||||
#endif
|
||||
|
|
@ -252,7 +265,7 @@ struct _LinphoneCall{
|
|||
StunCandidate ac,vc; /*audio video ip/port discovered by STUN*/
|
||||
struct _AudioStream *audiostream; /**/
|
||||
struct _VideoStream *videostream;
|
||||
unsigned long video_window_id;
|
||||
void *video_window_id;
|
||||
MSAudioEndpoint *endpoint; /*used for conferencing*/
|
||||
char *refer_to;
|
||||
LinphoneCallParams *params;
|
||||
|
|
@ -340,7 +353,6 @@ void _linphone_proxy_config_release(LinphoneProxyConfig *cfg);
|
|||
* Can be NULL
|
||||
* */
|
||||
const LinphoneAddress* linphone_proxy_config_get_service_route(const LinphoneProxyConfig* cfg);
|
||||
LINPHONE_PUBLIC char* linphone_proxy_config_get_contact(const LinphoneProxyConfig *cfg);
|
||||
|
||||
void linphone_friend_close_subscriptions(LinphoneFriend *lf);
|
||||
void linphone_friend_update_subscribes(LinphoneFriend *fr, LinphoneProxyConfig *cfg, bool_t only_when_registered);
|
||||
|
|
@ -478,6 +490,9 @@ typedef enum _LinphoneProxyConfigAddressComparisonResult{
|
|||
|
||||
LINPHONE_PUBLIC LinphoneProxyConfigAddressComparisonResult linphone_proxy_config_address_equal(const LinphoneAddress *a, const LinphoneAddress *b);
|
||||
LINPHONE_PUBLIC LinphoneProxyConfigAddressComparisonResult linphone_proxy_config_is_server_config_changed(const LinphoneProxyConfig* obj);
|
||||
/**
|
||||
* unregister without moving the register_enable flag
|
||||
*/
|
||||
void _linphone_proxy_config_unregister(LinphoneProxyConfig *obj);
|
||||
void _linphone_proxy_config_release_ops(LinphoneProxyConfig *obj);
|
||||
|
||||
|
|
@ -494,9 +509,9 @@ struct _LinphoneProxyConfig
|
|||
struct _LinphoneCore *lc;
|
||||
char *reg_proxy;
|
||||
char *reg_identity;
|
||||
LinphoneAddress* identity_address;
|
||||
char *reg_route;
|
||||
char *quality_reporting_collector;
|
||||
char *domain;
|
||||
char *realm;
|
||||
char *contact_params;
|
||||
char *contact_uri_params;
|
||||
|
|
@ -528,6 +543,7 @@ struct _LinphoneProxyConfig
|
|||
LinphoneAddress *saved_proxy;
|
||||
LinphoneAddress *saved_identity;
|
||||
/*---*/
|
||||
LinphoneAddress *pending_contact; /*use to store previous contact in case of network failure*/
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -556,6 +572,7 @@ struct _LinphoneChatRoom{
|
|||
LinphoneAddress *peer_url;
|
||||
MSList *messages_hist;
|
||||
MSList *transient_messages;
|
||||
int unread_count;
|
||||
LinphoneIsComposingState remote_is_composing;
|
||||
LinphoneIsComposingState is_composing;
|
||||
belle_sip_source_t *remote_composing_refresh_timer;
|
||||
|
|
@ -784,8 +801,8 @@ struct _LinphoneCore
|
|||
int audio_bw; /*IP bw consumed by audio codec, set as soon as used codec is known, its purpose is to know the remaining bw for video*/
|
||||
LinphoneCoreWaitingCallback wait_cb;
|
||||
void *wait_ctx;
|
||||
unsigned long video_window_id;
|
||||
unsigned long preview_window_id;
|
||||
void *video_window_id;
|
||||
void *preview_window_id;
|
||||
time_t netup_time; /*time when network went reachable */
|
||||
struct _EcCalibrator *ecc;
|
||||
MSList *hooks;
|
||||
|
|
@ -1066,6 +1083,7 @@ struct _LinphoneAccountCreator {
|
|||
char *route;
|
||||
char *email;
|
||||
bool_t subscribe_to_newsletter;
|
||||
char *display_name;
|
||||
};
|
||||
|
||||
BELLE_SIP_DECLARE_VPTR(LinphoneAccountCreator);
|
||||
|
|
|
|||
836
coreapi/proxy.c
|
|
@ -481,7 +481,8 @@ void linphone_reporting_update_media_info(LinphoneCall * call, int stats_type) {
|
|||
reporting_session_report_t * report = call->log->reporting.reports[stats_type];
|
||||
char * dialog_id;
|
||||
|
||||
if (!media_report_enabled(call, stats_type))
|
||||
// call->op might be already released if hanging up in state LinphoneCallOutgoingInit
|
||||
if (!media_report_enabled(call, stats_type) || call->op == NULL)
|
||||
return;
|
||||
|
||||
dialog_id = sal_op_get_dialog_id(call->op);
|
||||
|
|
|
|||
244
gtk/chat.c
|
|
@ -143,12 +143,44 @@ static gboolean scroll_to_end(GtkTextView *w){
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean word_starts_with(const GtkTextIter *word_start, const char *prefix) {
|
||||
gboolean res;
|
||||
gchar *schema = NULL;
|
||||
GtkTextIter end = *word_start;
|
||||
gtk_text_iter_forward_chars(&end, strlen(prefix));
|
||||
schema = gtk_text_iter_get_slice(word_start, &end);
|
||||
res = ( g_strcmp0(schema, prefix) == 0 );
|
||||
g_free(schema);
|
||||
return res;
|
||||
}
|
||||
|
||||
static gboolean is_space(gunichar ch, gpointer user_data) {
|
||||
return g_unichar_isspace(ch);
|
||||
}
|
||||
|
||||
static void insert_link_tags(GtkTextBuffer *buffer, const GtkTextIter *begin, const GtkTextIter *end) {
|
||||
GtkTextIter iter = *begin;
|
||||
while(gtk_text_iter_compare(&iter, end) < 0) {
|
||||
if(gtk_text_iter_starts_word(&iter) && (
|
||||
word_starts_with(&iter, "http://") ||
|
||||
word_starts_with(&iter, "https://") ||
|
||||
word_starts_with(&iter, "ftp://") ||
|
||||
word_starts_with(&iter, "ftps://"))) {
|
||||
GtkTextIter uri_begin = iter;
|
||||
if(gtk_text_iter_forward_find_char(&iter, is_space, NULL, end)) {
|
||||
gtk_text_buffer_apply_tag_by_name(buffer, "link", &uri_begin, &iter);
|
||||
}
|
||||
}
|
||||
gtk_text_iter_forward_char(&iter);
|
||||
}
|
||||
}
|
||||
|
||||
void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
|
||||
gboolean me,LinphoneChatRoom *cr,LinphoneChatMessage *msg, gboolean hist){
|
||||
GtkTextView *text=GTK_TEXT_VIEW(linphone_gtk_get_widget(w,"textview"));
|
||||
GtkTextBuffer *buffer=gtk_text_view_get_buffer(text);
|
||||
GtkTextIter iter,begin;
|
||||
int off;
|
||||
GtkTextIter iter, link_start;
|
||||
GtkTextMark *link_start_mark = NULL;
|
||||
char *from_str=linphone_address_as_string_uri_only(from);
|
||||
gchar *from_message=(gchar *)g_object_get_data(G_OBJECT(w),"from_message");
|
||||
GHashTable *table=(GHashTable*)g_object_get_data(G_OBJECT(w),"table");
|
||||
|
|
@ -159,40 +191,35 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
|
|||
int tnow_day;
|
||||
int tnow_year;
|
||||
|
||||
gtk_text_buffer_get_start_iter(buffer,&begin);
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
off=gtk_text_iter_get_offset(&iter);
|
||||
gtk_text_buffer_get_end_iter(buffer, &iter);
|
||||
if(g_strcmp0(from_message,from_str)!=0){
|
||||
gtk_text_buffer_get_iter_at_offset(buffer,&iter,off);
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, get_display_name(from), -1,
|
||||
"bold", me ? "bg" : NULL, me ? "font_black" : NULL, NULL);
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
"from", me ? "me" : NULL, NULL);
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter, " : ", -1,
|
||||
"bold", me ? "bg" : NULL, me ? "font_black" : NULL, NULL);
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
"from", me ? "me" : NULL, NULL);
|
||||
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
|
||||
g_free(from_message);
|
||||
g_object_set_data(G_OBJECT(w),"from_message",g_strdup(from_str));
|
||||
ms_free(from_str);
|
||||
}
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
|
||||
link_start_mark = gtk_text_buffer_create_mark(buffer, NULL, &iter, TRUE);
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, linphone_chat_message_get_text(msg), -1,
|
||||
"margin", me ? "bg" : NULL, me ? "font_black" : NULL, NULL);
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
"body", me ? "me" : NULL, NULL);
|
||||
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
gtk_text_buffer_get_iter_at_mark(buffer, &link_start, link_start_mark);
|
||||
insert_link_tags(buffer, &link_start, &iter);
|
||||
gtk_text_buffer_delete_mark(buffer, link_start_mark);
|
||||
|
||||
t=linphone_chat_message_get_time(msg);
|
||||
switch (linphone_chat_message_get_state (msg)){
|
||||
case LinphoneChatMessageStateInProgress:
|
||||
{
|
||||
g_hash_table_insert(table,(gpointer)msg,GINT_TO_POINTER(gtk_text_iter_get_line(&iter)));
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Sending ..",-1,
|
||||
"right","small","italic","font_grey","bg",NULL);
|
||||
"status", me ? "me" : NULL, NULL);
|
||||
g_object_set_data(G_OBJECT(w),"table",table);
|
||||
break;
|
||||
}
|
||||
case LinphoneChatMessageStateDelivered:
|
||||
{
|
||||
tnow=time(NULL);
|
||||
tm=localtime(&tnow);
|
||||
tnow_day=tm->tm_yday;
|
||||
|
|
@ -204,28 +231,17 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
|
|||
strftime(buf,80,"%H:%M",tm);
|
||||
}
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,buf,-1,
|
||||
"right","small","italic","font_grey",me ? "bg":NULL,NULL);
|
||||
"status", me ? "me" : NULL, NULL);
|
||||
break;
|
||||
}
|
||||
case LinphoneChatMessageStateNotDelivered:
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Message not sent",-1,
|
||||
"right","small","italic","font_grey",me ? "bg":NULL,NULL);
|
||||
break;
|
||||
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Message not sent",-1,
|
||||
"status", me ? "me" : NULL, NULL);
|
||||
break;
|
||||
default : gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Sending ..",-1,
|
||||
"right","small","italic","font_grey",me ? "bg":NULL,NULL);
|
||||
"status", me ? "me" : NULL, NULL);
|
||||
}
|
||||
gtk_text_buffer_get_end_iter(buffer,&iter);
|
||||
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
|
||||
g_idle_add((GSourceFunc)scroll_to_end,text);
|
||||
ms_free(from_str);
|
||||
}
|
||||
|
||||
const LinphoneAddress* linphone_gtk_get_used_identity(){
|
||||
LinphoneCore *lc=linphone_gtk_get_core();
|
||||
LinphoneProxyConfig *cfg;
|
||||
linphone_core_get_default_proxy(lc,&cfg);
|
||||
if (cfg) return linphone_address_new(linphone_proxy_config_get_identity(cfg));
|
||||
else return linphone_core_get_primary_contact_parsed(lc);
|
||||
}
|
||||
|
||||
void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessage *msg){
|
||||
|
|
@ -278,7 +294,7 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag
|
|||
default : result="Sending ..";
|
||||
}
|
||||
gtk_text_buffer_insert_with_tags_by_name(b,&iter,result,-1,
|
||||
"right","small","italic","font_grey","bg",NULL);
|
||||
"status", "me", NULL);
|
||||
g_object_set_data(G_OBJECT(page),"table",table);
|
||||
}
|
||||
}
|
||||
|
|
@ -375,6 +391,95 @@ static void linphone_gtk_chat_add_contact(const LinphoneAddress *addr){
|
|||
linphone_gtk_show_friends();
|
||||
}
|
||||
|
||||
static GdkColor *_linphone_gtk_chatroom_get_link_color(GtkWidget *chatview) {
|
||||
GValue color_value = {0};
|
||||
g_value_init(&color_value, GDK_TYPE_COLOR);
|
||||
gtk_style_get_style_property(
|
||||
gtk_widget_get_style(chatview),
|
||||
G_OBJECT_TYPE(chatview),
|
||||
"link-color", &color_value);
|
||||
|
||||
return (GdkColor *)g_value_get_boxed(&color_value);
|
||||
}
|
||||
|
||||
static gboolean link_event_handler(GtkTextTag *tag, GObject *text_view,GdkEvent *event, GtkTextIter *iter, gpointer user_data) {
|
||||
if(event->type == GDK_BUTTON_PRESS) {
|
||||
GtkTextIter uri_begin = *iter;
|
||||
GtkTextIter uri_end = *iter;
|
||||
gchar *uri = NULL;
|
||||
gtk_text_iter_backward_to_tag_toggle(&uri_begin, tag);
|
||||
gtk_text_iter_forward_to_tag_toggle(&uri_end, tag);
|
||||
uri = gtk_text_iter_get_slice(&uri_begin, &uri_end);
|
||||
if(((GdkEventButton *)event)->button == 1) {
|
||||
GError *error = NULL;
|
||||
gtk_show_uri(NULL, uri, gdk_event_get_time(event), &error);
|
||||
if(error) {
|
||||
g_warning("Could not open %s from chat: %s", uri, error->message);
|
||||
g_error_free(error);
|
||||
}
|
||||
} else if(((GdkEventButton *)event)->button == 3) {
|
||||
GtkMenu *menu = GTK_MENU(g_object_get_data(text_view, "link_ctx_menu"));
|
||||
g_object_set_data_full(G_OBJECT(menu), "uri", g_strdup(uri), g_free);
|
||||
gtk_menu_popup(menu, NULL, NULL, NULL, NULL, 3, gdk_event_get_time(event));
|
||||
}
|
||||
g_free(uri);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void chatroom_enable_hand_cursor(GdkWindow *window, gboolean hand_cursor_enabled) {
|
||||
#if GTK_CHECK_VERSION(2,22,0)
|
||||
GdkCursor *cursor = gdk_window_get_cursor(window);
|
||||
GdkCursor *new_cursor = NULL;
|
||||
if(!hand_cursor_enabled && gdk_cursor_get_cursor_type(cursor) != GDK_XTERM) {
|
||||
new_cursor = gdk_cursor_new(GDK_XTERM);
|
||||
} else if(hand_cursor_enabled && gdk_cursor_get_cursor_type(cursor) != GDK_HAND1) {
|
||||
new_cursor = gdk_cursor_new(GDK_HAND1);
|
||||
}
|
||||
if(new_cursor) {
|
||||
gdk_window_set_cursor(window, new_cursor);
|
||||
gdk_cursor_unref(new_cursor);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static gboolean chatroom_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) {
|
||||
gint wx, wy, bx, by;
|
||||
GtkTextView *chatroom = GTK_TEXT_VIEW(widget);
|
||||
GtkTextBuffer *buffer = gtk_text_view_get_buffer(chatroom);
|
||||
GtkTextTag *link_tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(buffer), "link");
|
||||
GdkWindow *window = gtk_text_view_get_window(chatroom, GTK_TEXT_WINDOW_TEXT);
|
||||
GtkTextIter iter;
|
||||
if(event->type == GDK_MOTION_NOTIFY) {
|
||||
GdkEventMotion *motion_ev = (GdkEventMotion *)event;
|
||||
wx = motion_ev->x;
|
||||
wy = motion_ev->y;
|
||||
gtk_text_view_window_to_buffer_coords(chatroom, GTK_TEXT_WINDOW_TEXT, wx, wy, &bx, &by);
|
||||
gtk_text_view_get_iter_at_location(chatroom, &iter, bx, by);
|
||||
if(gtk_text_iter_has_tag(&iter, link_tag)) {
|
||||
chatroom_enable_hand_cursor(window, TRUE);
|
||||
} else {
|
||||
chatroom_enable_hand_cursor(window, FALSE);
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean copy_uri_into_clipboard_handler(GtkMenuItem *menuitem, gpointer user_data) {
|
||||
GtkWidget *menu = gtk_widget_get_parent(GTK_WIDGET(menuitem));
|
||||
const gchar *uri = (const gchar *)g_object_get_data(G_OBJECT(menu), "uri");
|
||||
GtkClipboard *clipboard = NULL;
|
||||
GdkAtom clipboard_atom = gdk_atom_intern("CLIPBOARD", TRUE);
|
||||
if(clipboard_atom == GDK_NONE) {
|
||||
g_warning("Could not find CLIPBOARD atom");
|
||||
return FALSE;
|
||||
}
|
||||
clipboard = gtk_clipboard_get(clipboard_atom);
|
||||
if(uri) gtk_clipboard_set_text(clipboard, uri, -1);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with){
|
||||
GtkWidget *chat_view=linphone_gtk_create_widget("main","chatroom_frame");
|
||||
GtkWidget *main_window=linphone_gtk_get_main_window();
|
||||
|
|
@ -389,11 +494,11 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
|
|||
MSList *messages;
|
||||
GHashTable *table;
|
||||
char *with_str;
|
||||
GtkTextTag *tmp_tag;
|
||||
GtkWidget *link_ctx_menu = gtk_menu_new();
|
||||
GtkWidget *link_ctx_menu_copy_item = gtk_menu_item_new_with_label(_("Copy"));
|
||||
|
||||
with_str=linphone_address_as_string_uri_only(with);
|
||||
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text),GTK_WRAP_WORD_CHAR);
|
||||
gtk_text_view_set_editable(GTK_TEXT_VIEW(text),FALSE);
|
||||
gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(text),FALSE);
|
||||
gtk_notebook_append_page(notebook,chat_view,create_tab_chat_header(cr,with));
|
||||
idx = gtk_notebook_page_num(notebook, chat_view);
|
||||
gtk_notebook_set_current_page(notebook, idx);
|
||||
|
|
@ -402,24 +507,49 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
|
|||
g_object_set_data(G_OBJECT(chat_view),"cr",cr);
|
||||
g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
|
||||
g_object_set_data(G_OBJECT(chat_view),"table",table);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"right","justification", GTK_JUSTIFY_RIGHT,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"left","justification", GTK_JUSTIFY_LEFT,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"bold","weight", PANGO_WEIGHT_BOLD,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"italic","style", PANGO_STYLE_ITALIC,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"small","size",9*PANGO_SCALE,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"font_grey","foreground-gdk",&color_grey,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"font_black","foreground-gdk",&color_black,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"margin","indent",10,NULL);
|
||||
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"bg","paragraph-background-gdk",&color_light_grey,NULL);
|
||||
|
||||
gtk_text_buffer_create_tag(
|
||||
gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"me",
|
||||
"foreground_gdk", &color_black,
|
||||
"paragraph-background-gdk", &color_light_grey,
|
||||
NULL);
|
||||
|
||||
gtk_text_buffer_create_tag(
|
||||
gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"from",
|
||||
"weight", PANGO_WEIGHT_BOLD,
|
||||
NULL);
|
||||
|
||||
gtk_text_buffer_create_tag(
|
||||
gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"body",
|
||||
"indent", 10,
|
||||
NULL);
|
||||
|
||||
gtk_text_buffer_create_tag(
|
||||
gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"status",
|
||||
"size-points", 9.0,
|
||||
"foreground_gdk", &color_grey,
|
||||
"style", PANGO_STYLE_ITALIC,
|
||||
"justification", GTK_JUSTIFY_RIGHT,
|
||||
NULL);
|
||||
|
||||
tmp_tag = gtk_text_buffer_create_tag(
|
||||
gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
|
||||
"link",
|
||||
"underline", PANGO_UNDERLINE_SINGLE,
|
||||
"foreground_gdk", _linphone_gtk_chatroom_get_link_color(chat_view),
|
||||
NULL);
|
||||
g_signal_connect(G_OBJECT(tmp_tag), "event", G_CALLBACK(link_event_handler), NULL);
|
||||
g_signal_connect(G_OBJECT(text), "event", G_CALLBACK(chatroom_event), NULL);
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(link_ctx_menu), link_ctx_menu_copy_item);
|
||||
g_signal_connect(G_OBJECT(link_ctx_menu_copy_item), "activate", G_CALLBACK(copy_uri_into_clipboard_handler), NULL);
|
||||
gtk_widget_show_all(link_ctx_menu);
|
||||
g_object_set_data_full(G_OBJECT(text), "link_ctx_menu", link_ctx_menu, g_object_unref);
|
||||
g_object_ref_sink(G_OBJECT(link_ctx_menu));
|
||||
|
||||
messages = linphone_chat_room_get_history(cr,NB_MSG_HIST);
|
||||
display_history_message(chat_view,messages,with);
|
||||
button = linphone_gtk_get_widget(chat_view,"send");
|
||||
|
|
|
|||
|
|
@ -371,7 +371,6 @@ void linphone_gtk_create_in_call_view(LinphoneCall *call){
|
|||
GtkWidget *button;
|
||||
GtkWidget *image;
|
||||
|
||||
|
||||
if (ms_list_size(linphone_core_get_calls(linphone_gtk_get_core()))==1){
|
||||
/*this is the only call at this time */
|
||||
call_index=1;
|
||||
|
|
@ -634,22 +633,45 @@ void linphone_gtk_uninit_audio_meter(GtkWidget *w){
|
|||
}
|
||||
}
|
||||
|
||||
typedef enum { VOLUME_CTRL_PLAYBACK, VOLUME_CTRL_RECORD } VolumeControlType;
|
||||
|
||||
static void volume_control_value_changed(GtkScaleButton *button, gdouble value, gpointer user_data) {
|
||||
LinphoneCall *call = (LinphoneCall *)g_object_get_data(G_OBJECT(button), "call");
|
||||
VolumeControlType type = (VolumeControlType)g_object_get_data(G_OBJECT(button), "type");
|
||||
|
||||
if(type == VOLUME_CTRL_PLAYBACK) {
|
||||
linphone_call_set_speaker_volume_gain(call, value);
|
||||
} else if(type == VOLUME_CTRL_RECORD) {
|
||||
linphone_call_set_microphone_volume_gain(call, value);
|
||||
}
|
||||
}
|
||||
|
||||
static void volume_control_init(GtkWidget *vol_ctrl, VolumeControlType type, LinphoneCall *call) {
|
||||
g_object_set_data(G_OBJECT(vol_ctrl), "call", call);
|
||||
g_object_set_data(G_OBJECT(vol_ctrl), "type", (gpointer)type);
|
||||
|
||||
if(type == VOLUME_CTRL_PLAYBACK) {
|
||||
gtk_scale_button_set_value(GTK_SCALE_BUTTON(vol_ctrl), linphone_call_get_speaker_volume_gain(call));
|
||||
} else if(type == VOLUME_CTRL_RECORD) {
|
||||
gtk_scale_button_set_value(GTK_SCALE_BUTTON(vol_ctrl), linphone_call_get_microphone_volume_gain(call));
|
||||
}
|
||||
|
||||
g_signal_connect(G_OBJECT(vol_ctrl), "value-changed", G_CALLBACK(volume_control_value_changed), NULL);
|
||||
}
|
||||
|
||||
void linphone_gtk_in_call_view_enable_audio_view(LinphoneCall *call, gboolean val){
|
||||
GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call);
|
||||
GtkWidget *audio_view=linphone_gtk_get_widget(callview,"incall_audioview");
|
||||
GtkWidget *mic=linphone_gtk_get_widget(callview,"incall_mic_icon");
|
||||
GtkWidget *spk=linphone_gtk_get_widget(callview,"incall_spk_icon");
|
||||
GtkWidget *mic_level=linphone_gtk_get_widget(callview,"mic_audiolevel");
|
||||
GtkWidget *spk_level=linphone_gtk_get_widget(callview,"spk_audiolevel");
|
||||
GdkPixbuf *pbuf;
|
||||
GtkWidget *spk_vol_ctrl = linphone_gtk_get_widget(callview, "incall_spk_vol_ctrl_button");
|
||||
GtkWidget *mic_vol_ctrl = linphone_gtk_get_widget(callview, "incall_mic_vol_ctrl_button");
|
||||
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(mic),(pbuf=create_pixbuf("mic_active.png")));
|
||||
g_object_unref(pbuf);
|
||||
if (val){
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(spk),(pbuf=create_pixbuf("speaker.png")));
|
||||
g_object_unref(pbuf);
|
||||
linphone_gtk_init_audio_meter(mic_level,(get_volume_t)linphone_call_get_record_volume,call);
|
||||
linphone_gtk_init_audio_meter(spk_level,(get_volume_t)linphone_call_get_play_volume,call);
|
||||
volume_control_init(spk_vol_ctrl, VOLUME_CTRL_PLAYBACK, call);
|
||||
volume_control_init(mic_vol_ctrl, VOLUME_CTRL_RECORD, call);
|
||||
gtk_widget_show_all(audio_view);
|
||||
}else{
|
||||
linphone_gtk_uninit_audio_meter(mic_level);
|
||||
|
|
@ -709,8 +731,6 @@ char *linphone_gtk_address(const LinphoneAddress *addr){
|
|||
return ms_strdup(displayname);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){
|
||||
GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call);
|
||||
GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status");
|
||||
|
|
|
|||
|
|
@ -31,13 +31,25 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "ldap/ldapprovider.h"
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// prevent libintl.h from re-defining fprintf and vfprintf
|
||||
#ifndef fprintf
|
||||
#define fprintf fprintf
|
||||
#endif
|
||||
#ifndef vfprintf
|
||||
#define vfprintf vfprintf
|
||||
#endif
|
||||
#define _GL_STDIO_H
|
||||
#endif
|
||||
|
||||
# include <libintl.h>
|
||||
# undef _
|
||||
# define _(String) dgettext (GETTEXT_PACKAGE,String)
|
||||
#else
|
||||
# define _(String) (String)
|
||||
# define ngettext(singular,plural,number) ((number>1) ? (plural) : (singular) )
|
||||
#endif
|
||||
#endif // ENABLE_NLS
|
||||
|
||||
#undef N_
|
||||
#define N_(str) (str)
|
||||
|
|
@ -95,7 +107,6 @@ LINPHONE_PUBLIC void linphone_gtk_close_assistant(void);
|
|||
LINPHONE_PUBLIC LinphoneCore *linphone_gtk_get_core(void);
|
||||
LINPHONE_PUBLIC GtkWidget *linphone_gtk_get_main_window();
|
||||
LINPHONE_PUBLIC void linphone_gtk_display_something(GtkMessageType type, const gchar *message);
|
||||
LINPHONE_PUBLIC void linphone_gtk_start_call(GtkWidget *button);
|
||||
LINPHONE_PUBLIC void linphone_gtk_call_terminated();
|
||||
LINPHONE_PUBLIC void linphone_gtk_set_my_presence(LinphoneOnlineStatus ss);
|
||||
LINPHONE_PUBLIC void linphone_gtk_show_parameters(void);
|
||||
|
|
@ -228,6 +239,7 @@ LINPHONE_PUBLIC void linphone_gtk_logout_clicked(void);
|
|||
LINPHONE_PUBLIC void linphone_gtk_about_response(GtkDialog *dialog, gint id);
|
||||
LINPHONE_PUBLIC void linphone_gtk_show_about(void);
|
||||
LINPHONE_PUBLIC void linphone_gtk_start_call(GtkWidget *w);
|
||||
LINPHONE_PUBLIC void linphone_gtk_start_chat(GtkWidget *w);
|
||||
LINPHONE_PUBLIC void linphone_gtk_uri_bar_activate(GtkWidget *w);
|
||||
LINPHONE_PUBLIC void linphone_gtk_terminate_call(GtkWidget *button);
|
||||
LINPHONE_PUBLIC void linphone_gtk_decline_clicked(GtkWidget *button);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ static gboolean do_login_noprompt(LinphoneProxyConfig *cfg){
|
|||
linphone_gtk_show_login_frame(cfg,TRUE);
|
||||
return FALSE;
|
||||
}
|
||||
addr=linphone_address_new(linphone_proxy_config_get_identity(cfg));
|
||||
addr=linphone_address_clone(linphone_proxy_config_get_identity_address(cfg));
|
||||
linphone_address_set_username(addr,username);
|
||||
tmp=linphone_address_as_string (addr);
|
||||
do_login(ssctx,tmp,NULL,NULL);
|
||||
|
|
@ -58,14 +58,14 @@ void linphone_gtk_show_login_frame(LinphoneProxyConfig *cfg, gboolean disable_au
|
|||
const char *passwd=NULL;
|
||||
const char *userid=NULL;
|
||||
gboolean auto_login=linphone_gtk_get_ui_config_int("automatic_login",0);
|
||||
|
||||
|
||||
if (auto_login && !disable_auto_login){
|
||||
g_timeout_add(250,(GSourceFunc)do_login_noprompt,cfg);
|
||||
return;
|
||||
}
|
||||
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(mw,"automatic_login")),auto_login);
|
||||
|
||||
|
||||
{
|
||||
const char *login_image=linphone_gtk_get_ui_config("login_image","linphone-banner.png");
|
||||
if (login_image){
|
||||
|
|
@ -95,7 +95,7 @@ void linphone_gtk_show_login_frame(LinphoneProxyConfig *cfg, gboolean disable_au
|
|||
if (username)
|
||||
linphone_address_set_username(from,username);
|
||||
}
|
||||
|
||||
|
||||
ai=linphone_core_find_auth_info(lc,linphone_proxy_config_get_domain(cfg),linphone_address_get_username(from),NULL);
|
||||
/*display the last entered username, if not '?????'*/
|
||||
if (linphone_address_get_username(from)[0]!='?')
|
||||
|
|
@ -109,7 +109,7 @@ void linphone_gtk_show_login_frame(LinphoneProxyConfig *cfg, gboolean disable_au
|
|||
passwd!=NULL ? passwd : "");
|
||||
gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(mw,"login_userid")),
|
||||
userid ? userid : "");
|
||||
|
||||
|
||||
linphone_address_destroy(from);
|
||||
}
|
||||
|
||||
|
|
@ -150,7 +150,7 @@ void linphone_gtk_login_frame_connect_clicked(GtkWidget *button){
|
|||
username=gtk_entry_get_text(GTK_ENTRY(linphone_gtk_get_widget(mw,"login_username")));
|
||||
password=gtk_entry_get_text(GTK_ENTRY(linphone_gtk_get_widget(mw,"login_password")));
|
||||
userid=gtk_entry_get_text(GTK_ENTRY(linphone_gtk_get_widget(mw,"login_userid")));
|
||||
|
||||
|
||||
if (username==NULL || username[0]=='\0')
|
||||
return;
|
||||
|
||||
|
|
|
|||
143
gtk/main.c
|
|
@ -191,10 +191,10 @@ char *linphone_gtk_get_config_file(const char *filename){
|
|||
#define FACTORY_CONFIG_FILE "linphonerc.factory"
|
||||
static char _factory_config_file[1024];
|
||||
static const char *linphone_gtk_get_factory_config_file(){
|
||||
char* path = NULL;
|
||||
/*try accessing a local file first if exists*/
|
||||
if (access(FACTORY_CONFIG_FILE,F_OK)==0){
|
||||
snprintf(_factory_config_file,sizeof(_factory_config_file),
|
||||
"%s",FACTORY_CONFIG_FILE);
|
||||
path = ms_strdup(FACTORY_CONFIG_FILE);
|
||||
} else {
|
||||
char *progdir;
|
||||
|
||||
|
|
@ -206,33 +206,31 @@ static const char *linphone_gtk_get_factory_config_file(){
|
|||
if (basename != NULL) {
|
||||
basename ++;
|
||||
*basename = '\0';
|
||||
snprintf(_factory_config_file, sizeof(_factory_config_file),
|
||||
"%s\\..\\%s", progdir, FACTORY_CONFIG_FILE);
|
||||
} else {
|
||||
if (workingdir!=NULL) {
|
||||
snprintf(_factory_config_file, sizeof(_factory_config_file),
|
||||
"%s\\%s", workingdir, FACTORY_CONFIG_FILE);
|
||||
} else {
|
||||
free(progdir);
|
||||
return NULL;
|
||||
}
|
||||
path = ms_strdup_printf("%s\\..\\%s", progdir, FACTORY_CONFIG_FILE);
|
||||
} else if (workingdir!=NULL) {
|
||||
path = ms_strdup_printf("%s\\%s", workingdir, FACTORY_CONFIG_FILE);
|
||||
}
|
||||
#else
|
||||
basename = strrchr(progdir, '/');
|
||||
if (basename != NULL) {
|
||||
basename ++;
|
||||
*basename = '\0';
|
||||
snprintf(_factory_config_file, sizeof(_factory_config_file),
|
||||
"%s/../share/linphone/%s", progdir, FACTORY_CONFIG_FILE);
|
||||
} else {
|
||||
free(progdir);
|
||||
return NULL;
|
||||
path = ms_strdup_printf("%s/../share/linphone/%s", progdir, FACTORY_CONFIG_FILE);
|
||||
}
|
||||
#endif
|
||||
free(progdir);
|
||||
}
|
||||
}
|
||||
return _factory_config_file;
|
||||
if (path) {
|
||||
//use factory file only if it exists
|
||||
if (access(path,F_OK)==0){
|
||||
snprintf(_factory_config_file, sizeof(_factory_config_file), "%s", path);
|
||||
ms_free(path);
|
||||
return _factory_config_file;
|
||||
}
|
||||
ms_free(path);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
LinphoneLDAPContactProvider* linphone_gtk_get_ldap(void){
|
||||
|
|
@ -306,7 +304,7 @@ static void linphone_gtk_init_liblinphone(const char *config_file,
|
|||
g_free(user_certificates_dir);
|
||||
linphone_core_enable_video_capture(the_core, TRUE);
|
||||
linphone_core_enable_video_display(the_core, TRUE);
|
||||
linphone_core_set_native_video_window_id(the_core,-1);/*don't create the window*/
|
||||
linphone_core_set_native_video_window_id(the_core,LINPHONE_VIDEO_DISPLAY_NONE);/*don't create the window*/
|
||||
if (no_video) {
|
||||
_linphone_gtk_enable_video(FALSE);
|
||||
linphone_gtk_set_ui_config_int("videoselfview",0);
|
||||
|
|
@ -403,11 +401,11 @@ GtkWidget *linphone_gtk_create_window(const char *window_name, GtkWidget *parent
|
|||
gtk_builder_connect_signals(builder,w);
|
||||
linphone_gtk_configure_window(w,window_name);
|
||||
if(parent) {
|
||||
gtk_window_set_modal(GTK_WINDOW(w), TRUE);
|
||||
// gtk_window_set_modal(GTK_WINDOW(w), TRUE);
|
||||
gtk_window_set_transient_for(GTK_WINDOW(w), GTK_WINDOW(parent));
|
||||
gtk_window_set_position(GTK_WINDOW(w), GTK_WIN_POS_CENTER_ON_PARENT);
|
||||
} else {
|
||||
gtk_window_set_modal(GTK_WINDOW(w), FALSE);
|
||||
// gtk_window_set_modal(GTK_WINDOW(w), FALSE);
|
||||
}
|
||||
return w;
|
||||
}
|
||||
|
|
@ -484,16 +482,16 @@ void linphone_gtk_display_something(GtkMessageType type,const gchar *message){
|
|||
/* draw a question box. link to dialog_click callback */
|
||||
dialog = gtk_message_dialog_new (
|
||||
GTK_WINDOW(main_window),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_QUESTION,
|
||||
GTK_BUTTONS_YES_NO,
|
||||
"%s",
|
||||
GTK_BUTTONS_YES_NO,
|
||||
"%s",
|
||||
(const gchar*)message);
|
||||
/* connect to some callback : REVISIT */
|
||||
/*
|
||||
g_signal_connect_swapped (G_OBJECT (dialog), "response",
|
||||
G_CALLBACK (dialog_click),
|
||||
G_OBJECT (dialog));
|
||||
G_CALLBACK (dialog_click),
|
||||
G_OBJECT (dialog));
|
||||
*/
|
||||
/* actually show the box */
|
||||
gtk_widget_show(dialog);
|
||||
|
|
@ -501,15 +499,15 @@ void linphone_gtk_display_something(GtkMessageType type,const gchar *message){
|
|||
else
|
||||
{
|
||||
dialog = gtk_message_dialog_new (GTK_WINDOW(main_window),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
type,
|
||||
GTK_BUTTONS_CLOSE,
|
||||
"%s",
|
||||
(const gchar*)message);
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
type,
|
||||
GTK_BUTTONS_CLOSE,
|
||||
"%s",
|
||||
(const gchar*)message);
|
||||
/* Destroy the dialog when the user responds to it (e.g. clicks a button) */
|
||||
g_signal_connect_swapped (G_OBJECT (dialog), "response",
|
||||
G_CALLBACK (gtk_widget_destroy),
|
||||
G_OBJECT (dialog));
|
||||
G_CALLBACK (gtk_widget_destroy),
|
||||
G_OBJECT (dialog));
|
||||
gtk_widget_show(dialog);
|
||||
}
|
||||
}
|
||||
|
|
@ -531,7 +529,7 @@ void linphone_gtk_show_about(void){
|
|||
GtkWidget *about;
|
||||
const char *tmp;
|
||||
GdkPixbuf *logo=create_pixbuf(
|
||||
linphone_gtk_get_ui_config("logo","linphone-banner.png"));
|
||||
linphone_gtk_get_ui_config("logo","linphone-banner.png"));
|
||||
static const char *defcfg="defcfg";
|
||||
|
||||
about=linphone_gtk_create_window("about", the_ui);
|
||||
|
|
@ -829,7 +827,7 @@ void linphone_gtk_show_main_window(){
|
|||
void linphone_gtk_call_terminated(LinphoneCall *call, const char *error){
|
||||
GtkWidget *mw=linphone_gtk_get_main_window();
|
||||
if (linphone_core_get_calls(linphone_gtk_get_core())==NULL){
|
||||
gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"start_call"),TRUE);
|
||||
gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"start_call"),TRUE);
|
||||
}
|
||||
if (linphone_gtk_use_in_call_view() && call)
|
||||
linphone_gtk_in_call_view_terminate(call,error);
|
||||
|
|
@ -840,31 +838,26 @@ static void linphone_gtk_update_call_buttons(LinphoneCall *call){
|
|||
GtkWidget *mw=linphone_gtk_get_main_window();
|
||||
const MSList *calls=linphone_core_get_calls(lc);
|
||||
GtkWidget *button;
|
||||
bool_t start_active=TRUE;
|
||||
//bool_t stop_active=FALSE;
|
||||
bool_t add_call=FALSE;
|
||||
int call_list_size=ms_list_size(calls);
|
||||
GtkWidget *conf_frame;
|
||||
|
||||
if (calls==NULL){
|
||||
start_active=TRUE;
|
||||
//stop_active=FALSE;
|
||||
}else{
|
||||
//stop_active=TRUE;
|
||||
start_active=TRUE;
|
||||
if (calls!=NULL){
|
||||
add_call=TRUE;
|
||||
}
|
||||
button=linphone_gtk_get_widget(mw,"start_call");
|
||||
gtk_widget_set_sensitive(button,start_active);
|
||||
gtk_widget_set_visible(button,!add_call);
|
||||
|
||||
button=linphone_gtk_get_widget(mw,"start_chat");
|
||||
gtk_widget_set_visible(button,!add_call);
|
||||
|
||||
button=linphone_gtk_get_widget(mw,"add_call");
|
||||
gtk_widget_set_visible(button,add_call);
|
||||
if (linphone_core_sound_resources_locked(lc) || (call && linphone_call_get_state(call)==LinphoneCallIncomingReceived)) {
|
||||
gtk_widget_set_sensitive(button,FALSE);
|
||||
} else {
|
||||
gtk_widget_set_sensitive(button,start_active);
|
||||
gtk_widget_set_sensitive(button,TRUE);
|
||||
}
|
||||
gtk_widget_set_visible(button,add_call);
|
||||
|
||||
//gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"terminate_call"),stop_active);
|
||||
conf_frame=(GtkWidget *)g_object_get_data(G_OBJECT(mw),"conf_frame");
|
||||
|
|
@ -981,6 +974,18 @@ void linphone_gtk_start_call(GtkWidget *w){
|
|||
|
||||
}
|
||||
|
||||
void linphone_gtk_start_chat(GtkWidget *w){
|
||||
GtkWidget *mw=gtk_widget_get_toplevel(w);
|
||||
GtkWidget *uri_bar=linphone_gtk_get_widget(mw,"uribar");
|
||||
const char *entered=gtk_entry_get_text(GTK_ENTRY(uri_bar));
|
||||
LinphoneCore *lc=linphone_gtk_get_core();
|
||||
LinphoneAddress *addr=linphone_core_interpret_url(lc,entered);
|
||||
if (addr) {
|
||||
linphone_gtk_friend_list_set_chat_conversation(addr);
|
||||
linphone_address_destroy(addr);
|
||||
}
|
||||
}
|
||||
|
||||
void linphone_gtk_uri_bar_activate(GtkWidget *w){
|
||||
linphone_gtk_start_call(w);
|
||||
}
|
||||
|
|
@ -1075,13 +1080,13 @@ static void linphone_gtk_new_unknown_subscriber(LinphoneCore *lc, LinphoneFriend
|
|||
return;
|
||||
}
|
||||
|
||||
message=g_strdup_printf(_("%s would like to add you to his contact list.\nWould you allow him to see your presence status or add him to your contact list ?\nIf you answer no, this person will be temporarily blacklisted."),url);
|
||||
message=g_strdup_printf(_("%s would like to add you to his/her contact list.\nWould you add him/her to your contact list and allow him/her to see your presence status?\nIf you answer no, this person will be temporarily blacklisted."),url);
|
||||
dialog = gtk_message_dialog_new (
|
||||
GTK_WINDOW(linphone_gtk_get_main_window()),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_QUESTION,
|
||||
GTK_BUTTONS_YES_NO,
|
||||
"%s",
|
||||
GTK_BUTTONS_YES_NO,
|
||||
"%s",
|
||||
message);
|
||||
g_free(message);
|
||||
g_signal_connect(G_OBJECT (dialog), "response",
|
||||
|
|
@ -1346,7 +1351,7 @@ static void linphone_gtk_call_updated_by_remote(LinphoneCall *call){
|
|||
gboolean video_requested=linphone_call_params_video_enabled(rparams);
|
||||
gboolean video_used=linphone_call_params_video_enabled(current_params);
|
||||
g_message("Video used=%i, video requested=%i, automatically_accept=%i",
|
||||
video_used,video_requested,pol->automatically_accept);
|
||||
video_used,video_requested,pol->automatically_accept);
|
||||
if (!video_used && video_requested && !pol->automatically_accept){
|
||||
linphone_core_defer_call_update(lc,call);
|
||||
{
|
||||
|
|
@ -1356,13 +1361,13 @@ static void linphone_gtk_call_updated_by_remote(LinphoneCall *call){
|
|||
if (dname==NULL) dname=linphone_address_get_username(addr);
|
||||
if (dname==NULL) dname=linphone_address_get_domain(addr);
|
||||
dialog=gtk_message_dialog_new(GTK_WINDOW(linphone_gtk_get_main_window()),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_WARNING,
|
||||
GTK_BUTTONS_YES_NO,
|
||||
_("%s proposed to start video. Do you accept ?"),dname);
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_WARNING,
|
||||
GTK_BUTTONS_YES_NO,
|
||||
_("%s proposed to start video. Do you accept ?"),dname);
|
||||
g_object_set_data_full(G_OBJECT(dialog), "call", linphone_call_ref(call), (GDestroyNotify)linphone_call_unref);
|
||||
g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(on_call_updated_response), NULL);
|
||||
g_timeout_add(20000,(GSourceFunc)on_call_updated_timeout,dialog);
|
||||
g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(on_call_updated_response), NULL);
|
||||
g_timeout_add(20000,(GSourceFunc)on_call_updated_timeout,dialog);
|
||||
gtk_widget_show(dialog);
|
||||
}
|
||||
}
|
||||
|
|
@ -1470,7 +1475,7 @@ static void update_registration_status(LinphoneProxyConfig *cfg, LinphoneRegistr
|
|||
}
|
||||
|
||||
static void linphone_gtk_registration_state_changed(LinphoneCore *lc, LinphoneProxyConfig *cfg,
|
||||
LinphoneRegistrationState rs, const char *msg){
|
||||
LinphoneRegistrationState rs, const char *msg){
|
||||
switch (rs){
|
||||
case LinphoneRegistrationOk:
|
||||
if (cfg){
|
||||
|
|
@ -1541,7 +1546,7 @@ static GtkWidget *create_icon_menu(){
|
|||
|
||||
#ifndef HAVE_GTK_OSX
|
||||
void linphone_gtk_save_main_window_position(GtkWindow* mw, GdkEvent *event, gpointer data){
|
||||
gtk_window_get_position(GTK_WINDOW(mw), &main_window_x, &main_window_y);
|
||||
gtk_window_get_position(GTK_WINDOW(mw), &main_window_x, &main_window_y);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -1643,8 +1648,8 @@ void linphone_gtk_load_identities(void){
|
|||
LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)elem->data;
|
||||
gtk_list_store_append(store,&iter);
|
||||
gtk_list_store_set(store,&iter,0,linphone_proxy_config_get_identity(cfg),1,
|
||||
linphone_proxy_config_is_registered(cfg) ? GTK_STOCK_YES : NULL,
|
||||
2,cfg,-1);
|
||||
linphone_proxy_config_is_registered(cfg) ? GTK_STOCK_YES : NULL,
|
||||
2,cfg,-1);
|
||||
if (cfg==def) {
|
||||
def_index=i;
|
||||
}
|
||||
|
|
@ -1707,6 +1712,7 @@ static void linphone_gtk_configure_main_window(){
|
|||
static const char *home;
|
||||
static const char *start_call_icon;
|
||||
static const char *add_call_icon;
|
||||
static const char *start_chat_icon;
|
||||
static const char *search_icon;
|
||||
static gboolean update_check_menu;
|
||||
static gboolean buttons_have_borders;
|
||||
|
|
@ -1716,8 +1722,9 @@ static void linphone_gtk_configure_main_window(){
|
|||
if (!config_loaded){
|
||||
title=linphone_gtk_get_ui_config("title","Linphone");
|
||||
home=linphone_gtk_get_ui_config("home","http://www.linphone.org");
|
||||
start_call_icon=linphone_gtk_get_ui_config("start_call_icon","startcall-green.png");
|
||||
add_call_icon=linphone_gtk_get_ui_config("add_call_icon","addcall-green.png");
|
||||
start_call_icon=linphone_gtk_get_ui_config("start_call_icon","call_start.png");
|
||||
add_call_icon=linphone_gtk_get_ui_config("add_call_icon","call_add.png");
|
||||
start_chat_icon=linphone_gtk_get_ui_config("start_chat_icon","chat_start.png");
|
||||
search_icon=linphone_gtk_get_ui_config("directory_search_icon",NULL);
|
||||
update_check_menu=linphone_gtk_get_ui_config_int("update_check_menu",0);
|
||||
buttons_have_borders=linphone_gtk_get_ui_config_int("buttons_border",1);
|
||||
|
|
@ -1730,16 +1737,22 @@ static void linphone_gtk_configure_main_window(){
|
|||
}
|
||||
if (start_call_icon){
|
||||
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"start_call")),
|
||||
create_pixmap (start_call_icon));
|
||||
create_pixmap (start_call_icon));
|
||||
if (!buttons_have_borders)
|
||||
gtk_button_set_relief(GTK_BUTTON(linphone_gtk_get_widget(w,"start_call")),GTK_RELIEF_NONE);
|
||||
}
|
||||
if (add_call_icon){
|
||||
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"add_call")),
|
||||
create_pixmap (add_call_icon));
|
||||
create_pixmap (add_call_icon));
|
||||
if (!buttons_have_borders)
|
||||
gtk_button_set_relief(GTK_BUTTON(linphone_gtk_get_widget(w,"add_call")),GTK_RELIEF_NONE);
|
||||
}
|
||||
if (start_chat_icon){
|
||||
gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"start_chat")),
|
||||
create_pixmap (start_chat_icon));
|
||||
if (!buttons_have_borders)
|
||||
gtk_button_set_relief(GTK_BUTTON(linphone_gtk_get_widget(w,"start_chat")),GTK_RELIEF_NONE);
|
||||
}
|
||||
if (search_icon){
|
||||
GdkPixbuf *pbuf=create_pixbuf(search_icon);
|
||||
if(pbuf) {
|
||||
|
|
|
|||
145
gtk/main.ui
|
|
@ -118,6 +118,9 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="border_width">4</property>
|
||||
<property name="editable">False</property>
|
||||
<property name="wrap_mode">word-char</property>
|
||||
<property name="cursor_visible">False</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
@ -399,67 +402,104 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="incall_audioview">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="incall_mic_icon">
|
||||
<object class="GtkHBox" id="incall_mic_vol_control">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stock">gtk-missing-image</property>
|
||||
<property name="icon-size">1</property>
|
||||
<child>
|
||||
<object class="GtkVolumeButton" id="incall_mic_vol_ctrl_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="has_tooltip">True</property>
|
||||
<property name="relief">none</property>
|
||||
<property name="focus_on_click">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="icons">audio-volume-muted
|
||||
audio-volume-high
|
||||
audio-volume-low
|
||||
audio-volume-medium</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="mic_audiolevel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">10</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="mic_audiolevel">
|
||||
<property name="width_request">90</property>
|
||||
<property name="height_request">10</property>
|
||||
<object class="GtkHBox" id="incall_spk_vol_control">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkVolumeButton" id="incall_spk_vol_ctrl_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="has_tooltip">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Click here to set the speakers volume</property>
|
||||
<property name="relief">none</property>
|
||||
<property name="focus_on_click">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="icons">audio-volume-muted
|
||||
audio-volume-high
|
||||
audio-volume-low
|
||||
audio-volume-medium</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="spk_audiolevel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">10</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="incall_spk_icon">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stock">gtk-missing-image</property>
|
||||
<property name="icon-size">0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="spk_audiolevel">
|
||||
<property name="width_request">90</property>
|
||||
<property name="height_request">10</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">1</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">2</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
|
@ -1021,6 +1061,19 @@
|
|||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="keypad">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="linphone_gtk_create_keypad" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="add_call">
|
||||
<property name="can_focus">True</property>
|
||||
|
|
@ -1032,8 +1085,7 @@
|
|||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
@ -1046,22 +1098,21 @@
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="keypad">
|
||||
<object class="GtkButton" id="start_chat">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="linphone_gtk_create_keypad" swapped="no"/>
|
||||
<signal name="clicked" handler="linphone_gtk_start_chat" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ static gboolean _linphone_status_icon_desc_is_supported(
|
|||
gboolean *result,
|
||||
LinphoneStatusIconDescIsSupportedResultCb cb,
|
||||
void *user_data) {
|
||||
|
||||
|
||||
return desc->is_supported(desc, result, cb, user_data);
|
||||
}
|
||||
|
||||
|
|
@ -131,7 +131,7 @@ static void _linphone_status_icon_desc_is_supported_result_cb(
|
|||
const _LinphoneStatusIconDesc *desc,
|
||||
gboolean result,
|
||||
_LinphoneStatusIconDescSearchCtx *ctx) {
|
||||
|
||||
|
||||
if(!result) {
|
||||
ctx->i = g_slist_next(ctx->i);
|
||||
for(; ctx->i; ctx->i = g_slist_next(ctx->i)) {
|
||||
|
|
@ -140,12 +140,12 @@ static void _linphone_status_icon_desc_is_supported_result_cb(
|
|||
&result,
|
||||
(LinphoneStatusIconDescIsSupportedResultCb)_linphone_status_icon_desc_is_supported_result_cb,
|
||||
ctx)) {
|
||||
|
||||
|
||||
if(result) break;
|
||||
} else return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(ctx->i) {
|
||||
const _LinphoneStatusIconDesc *desc = (const _LinphoneStatusIconDesc *)g_slist_nth_data(ctx->i, 0);
|
||||
ms_message("StatusIcon: found implementation: %s", desc->impl_name);
|
||||
|
|
@ -153,7 +153,7 @@ static void _linphone_status_icon_desc_is_supported_result_cb(
|
|||
} else {
|
||||
g_warning("StatusIcon: no implementation found");
|
||||
}
|
||||
|
||||
|
||||
g_free(ctx);
|
||||
}
|
||||
|
||||
|
|
@ -161,21 +161,21 @@ static gboolean _linphone_status_icon_find_first_available_impl(
|
|||
const _LinphoneStatusIconDesc **desc,
|
||||
LinphoneStatusIconDescFindResultCb cb,
|
||||
void *user_data) {
|
||||
|
||||
|
||||
gboolean result;
|
||||
_LinphoneStatusIconDescSearchCtx *ctx = g_new0(_LinphoneStatusIconDescSearchCtx, 1);
|
||||
ctx->cb = cb;
|
||||
ctx->user_data = user_data;
|
||||
|
||||
|
||||
ms_message("StatusIcon: looking for implementation...");
|
||||
|
||||
|
||||
for(ctx->i=_linphone_status_icon_impls; ctx->i; ctx->i = g_slist_next(ctx->i)) {
|
||||
if(_linphone_status_icon_desc_is_supported(
|
||||
(const _LinphoneStatusIconDesc *)g_slist_nth_data(ctx->i, 0),
|
||||
&result,
|
||||
(LinphoneStatusIconDescIsSupportedResultCb)_linphone_status_icon_desc_is_supported_result_cb,
|
||||
ctx)) {
|
||||
|
||||
|
||||
if(result) {
|
||||
*desc = (const _LinphoneStatusIconDesc *)g_slist_nth_data(ctx->i, 0);
|
||||
ms_message("StatusIcon: found implementation: %s", (*desc)->impl_name);
|
||||
|
|
@ -187,7 +187,7 @@ static gboolean _linphone_status_icon_find_first_available_impl(
|
|||
}
|
||||
g_warning("StatusIcon: no implementation found");
|
||||
*desc = NULL;
|
||||
|
||||
|
||||
sync_return:
|
||||
g_free(ctx);
|
||||
return 1;
|
||||
|
|
@ -266,15 +266,15 @@ void _linphone_status_icon_create_implementations_list(void) {
|
|||
gboolean linphone_status_icon_init(LinphoneStatusIconReadyCb ready_cb, void *user_data) {
|
||||
const _LinphoneStatusIconDesc *desc;
|
||||
void **ctx;
|
||||
|
||||
|
||||
ms_message("StatusIcon: Initialising");
|
||||
|
||||
|
||||
_linphone_status_icon_create_implementations_list();
|
||||
|
||||
|
||||
ctx = g_new(void *, 2);
|
||||
ctx[0] = ready_cb;
|
||||
ctx[1] = user_data;
|
||||
|
||||
|
||||
if(_linphone_status_icon_find_first_available_impl(&desc, _linphone_status_icon_init_cb, ctx)) {
|
||||
_linphone_status_icon_selected_desc = desc;
|
||||
g_free(ctx);
|
||||
|
|
@ -317,7 +317,7 @@ static void _linphone_status_icon_impl_gtk_popup_menu(GtkStatusIcon *status_icon
|
|||
|
||||
static void _linphone_status_icon_impl_gtk_init(LinphoneStatusIcon *si) {
|
||||
const char *icon_path=linphone_gtk_get_ui_config("icon",LINPHONE_ICON);
|
||||
const char *call_icon_path=linphone_gtk_get_ui_config("start_call_icon","startcall-green.png");
|
||||
const char *call_icon_path=linphone_gtk_get_ui_config("start_call_icon","call_start.png");
|
||||
GdkPixbuf *pbuf=create_pixbuf(icon_path);
|
||||
GtkStatusIcon *icon=gtk_status_icon_new_from_pixbuf(pbuf);
|
||||
g_signal_connect_swapped(G_OBJECT(icon),"activate", G_CALLBACK(_linphone_status_icon_impl_gtk_on_click_cb), si);
|
||||
|
|
@ -375,7 +375,7 @@ static gboolean _linphone_status_icon_impl_is_supported(
|
|||
gboolean *result,
|
||||
LinphoneStatusIconDescIsSupportedResultCb cb,
|
||||
void *user_data) {
|
||||
|
||||
|
||||
*result = 1;
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -409,7 +409,7 @@ static gboolean _linphone_status_icon_impl_gtkosx_app_is_supported(
|
|||
gboolean *result,
|
||||
LinphoneStatusIconDescIsSupportedResultCb cb,
|
||||
void *user_data) {
|
||||
|
||||
|
||||
*result = 1;
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -472,10 +472,10 @@ static void _linphone_status_icon_impl_sn_start(LinphoneStatusIcon *si) {
|
|||
BcStatusNotifierParams *params;
|
||||
BcStatusNotifierToolTip *tooltip = bc_status_notifier_tool_tip_new("linphone", si->params->title, si->params->desc);
|
||||
BcStatusNotifierSignalsVTable vtable = {NULL};
|
||||
|
||||
|
||||
vtable.activate_called_cb = _linphone_status_icon_impl_sn_activated_cb;
|
||||
vtable.context_menu_called_cb = _linphone_status_icon_impl_sn_menu_called_cb;
|
||||
|
||||
|
||||
params = bc_status_notifier_params_new();
|
||||
bc_status_notifier_params_set_dbus_prefix(params, "org.kde");
|
||||
bc_status_notifier_params_set_category(params, BcStatusNotifierCategoryCommunications);
|
||||
|
|
@ -484,15 +484,15 @@ static void _linphone_status_icon_impl_sn_start(LinphoneStatusIcon *si) {
|
|||
bc_status_notifier_params_set_icon_name(params, "linphone");
|
||||
bc_status_notifier_params_set_tool_tip(params, tooltip);
|
||||
bc_status_notifier_params_set_vtable(params, &vtable, si);
|
||||
|
||||
|
||||
bc_status_notifier_start(sn, params, NULL, NULL);
|
||||
|
||||
|
||||
bc_status_notifier_tool_tip_unref(tooltip);
|
||||
bc_status_notifier_params_unref(params);
|
||||
}
|
||||
|
||||
static void _linphone_status_icon_impl_sn_enable_blinking(LinphoneStatusIcon *si, gboolean val) {
|
||||
BcStatusNotifier *sn = (BcStatusNotifier *)si->data;
|
||||
BcStatusNotifier *sn = (BcStatusNotifier *)si->data;
|
||||
if(val) {
|
||||
bc_status_notifier_update_status(sn, BcStatusNotifierStatusNeedsAttention);
|
||||
} else {
|
||||
|
|
@ -513,16 +513,16 @@ static gboolean _linphone_status_icon_impl_sn_is_supported(
|
|||
gboolean *result,
|
||||
LinphoneStatusIconDescIsSupportedResultCb cb,
|
||||
void *user_data) {
|
||||
|
||||
|
||||
_LinphoneStatusIconDesc *desc2;
|
||||
void **data;
|
||||
const char *desktop = g_getenv("XDG_CURRENT_DESKTOP");
|
||||
|
||||
|
||||
if(desktop == NULL || g_strcmp0(desktop, "KDE") != 0) {
|
||||
*result = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
desc2 = g_new(_LinphoneStatusIconDesc, 1);
|
||||
*desc2 = *desc;
|
||||
data = g_new(void *, 3);
|
||||
|
|
|
|||
|
|
@ -94,13 +94,13 @@ static gboolean drag_drop(GtkWidget *widget, GdkDragContext *drag_context, gint
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static unsigned long get_native_handle(GdkWindow *gdkw){
|
||||
static void *get_native_handle(GdkWindow *gdkw){
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
return (unsigned long)GDK_WINDOW_XID(gdkw);
|
||||
return (void *)GDK_WINDOW_XID(gdkw);
|
||||
#elif defined(WIN32)
|
||||
return (unsigned long)GDK_WINDOW_HWND(gdkw);
|
||||
return (void *)GDK_WINDOW_HWND(gdkw);
|
||||
#elif defined(__APPLE__)
|
||||
return (unsigned long)gdk_quartz_window_get_nsview(gdkw);
|
||||
return (void *)gdk_quartz_window_get_nsview(gdkw);
|
||||
#endif
|
||||
g_warning("No way to get the native handle from gdk window");
|
||||
return 0;
|
||||
|
|
@ -132,7 +132,7 @@ static gint resize_video_window(LinphoneCall *call){
|
|||
|
||||
static void on_video_window_destroy(GtkWidget *w, guint timeout){
|
||||
g_source_remove(timeout);
|
||||
linphone_core_set_native_video_window_id(linphone_gtk_get_core(),(unsigned long)-1);
|
||||
linphone_core_set_native_video_window_id(linphone_gtk_get_core(),LINPHONE_VIDEO_DISPLAY_NONE);
|
||||
}
|
||||
|
||||
static void video_window_set_fullscreen(GtkWidget *w, gboolean val){
|
||||
|
|
@ -314,7 +314,7 @@ static void on_video_preview_destroyed(GtkWidget *video_preview, GtkWidget *mw){
|
|||
guint timeout_id=GPOINTER_TO_INT(g_object_get_data(G_OBJECT(video_preview),"timeout-id"));
|
||||
g_object_set_data(G_OBJECT(mw),"video_preview",NULL);
|
||||
linphone_core_enable_video_preview(lc,FALSE);
|
||||
linphone_core_set_native_preview_window_id(lc,-1);
|
||||
linphone_core_set_native_preview_window_id(lc,(void *)(unsigned long)-1);
|
||||
g_source_remove(timeout_id);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -704,7 +704,7 @@ LINPHONE_PUBLIC void sal_default_set_sdp_handling(Sal* h, SalOpSDPHandling handl
|
|||
LINPHONE_PUBLIC void sal_call_set_sdp_handling(SalOp *h, SalOpSDPHandling handling) ;
|
||||
|
||||
/*Registration*/
|
||||
int sal_register(SalOp *op, const char *proxy, const char *from, int expires);
|
||||
int sal_register(SalOp *op, const char *proxy, const char *from, int expires,SalAddress* old_contact);
|
||||
/*refresh a register, -1 mean use the last known value*/
|
||||
int sal_register_refresh(SalOp *op, int expires);
|
||||
int sal_unregister(SalOp *h);
|
||||
|
|
@ -800,6 +800,11 @@ LINPHONE_PUBLIC void sal_set_recv_error(Sal *sal,int value);
|
|||
/*always answer 480 if value=true*/
|
||||
LINPHONE_PUBLIC void sal_enable_unconditional_answer(Sal *sal,int value);
|
||||
|
||||
LINPHONE_PUBLIC bool_t sal_pending_trans_checking_enabled(const Sal *sal) ;
|
||||
LINPHONE_PUBLIC int sal_enable_pending_trans_checking(Sal *sal, bool_t value) ;
|
||||
|
||||
|
||||
|
||||
/*refresher retry after value in ms*/
|
||||
LINPHONE_PUBLIC void sal_set_refresher_retry_after(Sal *sal,int value);
|
||||
LINPHONE_PUBLIC int sal_get_refresher_retry_after(const Sal *sal);
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 7494e580b6127b950f29a5dff731789ed605b3a6
|
||||
Subproject commit c9e33c769b2865f5dc8e2366d9f2060daa95b893
|
||||
2
oRTP
|
|
@ -1 +1 @@
|
|||
Subproject commit d9377cb47177cd92d2a1971cd389221aeebcabde
|
||||
Subproject commit 6ace4eed11a93209de13b39cade47a54d534e950
|
||||
|
|
@ -20,43 +20,7 @@
|
|||
#
|
||||
############################################################################
|
||||
|
||||
set(PIXMAPS
|
||||
active_chat.png
|
||||
addcall-green.png
|
||||
call.png
|
||||
call_status_incoming.png
|
||||
call_status_outgoing.png
|
||||
chat_message_delivered.png
|
||||
chat_message_inprogress.png
|
||||
chat_message_not_delivered.png
|
||||
chat.png
|
||||
composing_active_chat.png
|
||||
composing_chat.png
|
||||
contact-orange.png
|
||||
contact_starred.png
|
||||
contact_unstarred.png
|
||||
dialer-orange.png
|
||||
dialer.png
|
||||
history-orange.png
|
||||
hold_off.png
|
||||
hold_on.png
|
||||
linphone-banner.png
|
||||
linphone.icns
|
||||
linphone.png
|
||||
mic_active.png
|
||||
mic_muted.png
|
||||
notok.png
|
||||
ok.png
|
||||
speaker.png
|
||||
startcall-green.png
|
||||
startcall-small.png
|
||||
status-green.png
|
||||
status-offline.png
|
||||
status-orange.png
|
||||
status-red.png
|
||||
stopcall-red.png
|
||||
stopcall-small.png
|
||||
)
|
||||
file(GLOB PIXMAPS "*.png" "linphone.icns")
|
||||
|
||||
install(FILES ${PIXMAPS}
|
||||
DESTINATION ${PACKAGE_DATA_DIR}/pixmaps/linphone
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ pixmap_DATA= \
|
|||
status-red.png \
|
||||
status-offline.png \
|
||||
call.png \
|
||||
chat.png active_chat.png composing_chat.png composing_active_chat.png\
|
||||
chat.png chat_start.png active_chat.png composing_chat.png composing_active_chat.png\
|
||||
chat_message_inprogress.png chat_message_delivered.png chat_message_not_delivered.png\
|
||||
contact-orange.png dialer-orange.png history-orange.png\
|
||||
startcall-green.png startcall-small.png stopcall-red.png stopcall-small.png addcall-green.png linphone.icns \
|
||||
contact-orange.png history-orange.png\
|
||||
call_start.png startcall-small.png stopcall-red.png stopcall-small.png call_add.png linphone.icns \
|
||||
contact_starred.png contact_unstarred.png \
|
||||
speaker.png \
|
||||
call_status_incoming.png call_status_outgoing.png \
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 5.5 KiB |
BIN
pixmaps/call_add.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
pixmaps/call_start.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
pixmaps/chat_start.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 5 KiB |
170
po/ar.po
|
|
@ -9,10 +9,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 14:12+0000\n"
|
||||
"Last-Translator: محيي الدين <tx99h4@hotmail.com>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/projects/p/linphone-gtk/language/ar/)\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/p/linphone-gtk/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -139,88 +139,88 @@ msgstr "ابدأ مرشد الصوت"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr "شغِّل الاختبار الذاتي ثم اخرِجْ 0 إذا نجح"
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s يريد إضافتك إلى جهة اتصاله.\nهل تريد السماح له برؤية معلومات حضورك وكذا إضافته إلى جهة اتصالك أيضا ؟ إذا أجبت بلا، سيُحظَر هذا الشخص مؤقتا."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "ادخل كلمة السر لـ <i>%s</i>\n في نطاق <i>%s</i>:"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "خطأ في المكالمة"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "إنتهت المكالمة"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "مكالمة واردة"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "أجِبْ"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "ارفضْ"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "المكالمة متوقفة"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>بواسطة %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "يود %s تشغيل الفيديو. هل تقبل ذلك ؟"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "وصلة إلى الموقع وِبْ"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "لِنْفُونْ"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr "الهاتف المرئي عبر الإنترنت"
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (افتراضي)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "التحويل إلى %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "لا وجود للوحة الصوت على هذا الحاسوب.\nلن تتمكن من تلقي أو إجراء أي مكالمة."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "هاتف SIP المرئي الحر"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr "أهلا\n"
|
||||
|
|
@ -304,75 +304,75 @@ msgstr "الحساب"
|
|||
|
||||
#: ../gtk/propertybox.c:1161
|
||||
msgid "English"
|
||||
msgstr "الإنجليزية"
|
||||
msgstr "English"
|
||||
|
||||
#: ../gtk/propertybox.c:1162
|
||||
msgid "French"
|
||||
msgstr "الفرنسية"
|
||||
msgstr "Français"
|
||||
|
||||
#: ../gtk/propertybox.c:1163
|
||||
msgid "Swedish"
|
||||
msgstr "السويدية"
|
||||
msgstr "Svenska"
|
||||
|
||||
#: ../gtk/propertybox.c:1164
|
||||
msgid "Italian"
|
||||
msgstr "الإيطالية"
|
||||
msgstr "Italiano"
|
||||
|
||||
#: ../gtk/propertybox.c:1165
|
||||
msgid "Spanish"
|
||||
msgstr "الإسبانية"
|
||||
msgstr "Español"
|
||||
|
||||
#: ../gtk/propertybox.c:1166
|
||||
msgid "Brazilian Portugese"
|
||||
msgstr "البرتغالية البرازيلية"
|
||||
msgstr "Português do Brasil"
|
||||
|
||||
#: ../gtk/propertybox.c:1167
|
||||
msgid "Polish"
|
||||
msgstr "البولونية"
|
||||
msgstr "Polski"
|
||||
|
||||
#: ../gtk/propertybox.c:1168
|
||||
msgid "German"
|
||||
msgstr "الألمانية"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: ../gtk/propertybox.c:1169
|
||||
msgid "Russian"
|
||||
msgstr "الروسية"
|
||||
msgstr "Русский"
|
||||
|
||||
#: ../gtk/propertybox.c:1170
|
||||
msgid "Japanese"
|
||||
msgstr "اليابانية"
|
||||
msgstr "日本語"
|
||||
|
||||
#: ../gtk/propertybox.c:1171
|
||||
msgid "Dutch"
|
||||
msgstr "الهولندية"
|
||||
msgstr "Nederlands"
|
||||
|
||||
#: ../gtk/propertybox.c:1172
|
||||
msgid "Hungarian"
|
||||
msgstr "الهنغارية"
|
||||
msgstr "Magyar"
|
||||
|
||||
#: ../gtk/propertybox.c:1173
|
||||
msgid "Czech"
|
||||
msgstr "التشيكية"
|
||||
msgstr "Čeština"
|
||||
|
||||
#: ../gtk/propertybox.c:1174
|
||||
msgid "Chinese"
|
||||
msgstr "الصينية المبسَّطة"
|
||||
msgstr "简体中文"
|
||||
|
||||
#: ../gtk/propertybox.c:1175
|
||||
msgid "Traditional Chinese"
|
||||
msgstr "الصينية التقليدية"
|
||||
msgstr "繁体中文"
|
||||
|
||||
#: ../gtk/propertybox.c:1176
|
||||
msgid "Norwegian"
|
||||
msgstr "النرويجية"
|
||||
msgstr "Norsk bokmål"
|
||||
|
||||
#: ../gtk/propertybox.c:1177
|
||||
msgid "Hebrew"
|
||||
msgstr "العبرية"
|
||||
msgstr "עברית"
|
||||
|
||||
#: ../gtk/propertybox.c:1178
|
||||
msgid "Serbian"
|
||||
msgstr "الصربية"
|
||||
msgstr "Српски"
|
||||
|
||||
#: ../gtk/propertybox.c:1179
|
||||
msgid "Arabic"
|
||||
|
|
@ -380,7 +380,7 @@ msgstr "العربية"
|
|||
|
||||
#: ../gtk/propertybox.c:1180
|
||||
msgid "Turkish"
|
||||
msgstr "التركية"
|
||||
msgstr "Türkçe"
|
||||
|
||||
#: ../gtk/propertybox.c:1237
|
||||
msgid ""
|
||||
|
|
@ -587,7 +587,7 @@ msgstr "التحقق من الحساب في تقدم"
|
|||
msgid "Error"
|
||||
msgstr "خطأ"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "في طور الإنهاء"
|
||||
|
||||
|
|
@ -793,101 +793,101 @@ msgstr "يجلب من %s"
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr "فَشِل تنزيل التهيئة عن بعد من %s ."
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "لم يكتشف صوتاً"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "خافِت"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "جيد"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "صاخب"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "هل سمعت ثلاث رنات ؟"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "لم يعثر على تفضيلات الصوت"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "لم يتمكن من تشغيل التحكم في الصوت للنظام"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "مرحبا !\nسيمكنك هذا المرشد من تهيئة إعدادات الصوت من أجل لِنْفُونْ"
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "جهاز الالتقاط"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "الحجم المسجَّل"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "صامت"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "تفضيلات الصوت للنظام"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "جهاز السماع"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "شغِّل ثلاث رنَّات"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "اضغط على زر التسجيل وانطق ببعض الكلمات"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "استمع لصوتك المسجَّل"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "تسجيل"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "تشغيل"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "لنُشغِّل لِنْفُونْ الآن"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "مرشد الصوت"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "مرشد الصوت"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "معايرة كسب الميكروفون"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "معايرة شدة مكبر الصوت"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "سَجِّل واقرأ "
|
||||
|
||||
|
|
@ -1764,60 +1764,60 @@ msgstr "تجري التهيئة..."
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr "رجاءً انتظر ريثما ينتهي من جلب الإعدادات من الخادم..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "جاهز"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr "تجري التهيئة"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "يجري البحث عن وجهة رقم الهاتف..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "لم يتمكن من إيجاد هذا الرقم."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "يتصل ب"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "لم يتمكن من الاتصال"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "آسف، وصل عدد المكالمات الآنية إلى حده الأقصى"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "يتصل بك"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "ويطلب ردا تلقائيا."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "يجري تعديل إعدادات المكالمة..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "متصل."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "أُلغيت المكالمة"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "لم يتمكن من توقيف المكالمة مؤقتا"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "وضع المكالمة قيد الانتظار..."
|
||||
|
||||
|
|
@ -1893,7 +1893,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "إن هوية SIP التي أدخلت غير صحيحة.\nيجب أن تكون بهذا النمط sip:username@proxydomain، مثلا sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "تعذر الولوج بالهوية %s"
|
||||
|
|
@ -2017,7 +2017,7 @@ msgstr "شارة التحقق من الهوية هي %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr "عُدِّلت معاملات المكالمات بنجاج."
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/cs.po
|
|
@ -9,10 +9,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/projects/p/linphone-gtk/language/cs/)\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/p/linphone-gtk/language/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -133,88 +133,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s si vás chce přidat do svého adresáře.\nDovolíte mu, aby viděl váš stav přítomnosti, nebo si ho také chcete přidat do svého adresáře?\nOdpovíte-li ne, tato osobo bude dočasně blokována."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Chyba hovoru"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Hovor ukončen"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Příchozí hovor"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Odpovědět"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Odmítnout"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Hovor odložen"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>kým: %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s navrhuje začít videohovor. Přijímáte?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Odkaz na webovou stránku"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Výchozí)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Byly jsme přepojeni na %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Na tomto počítači nebyla objevena žádná zvuková karta.\nNebudete moci vytáčet a přijímat a zvukové hovory."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Volný SIP videofon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -578,7 +578,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "Chyba"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Ukončuje se"
|
||||
|
||||
|
|
@ -784,101 +784,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1755,60 +1755,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Připraven."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Vyhledává se umístění čísla…"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Toto číslo nelze vyhledat."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Navazuje se spojení"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Nelze volat"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Je nám líto, ale byl dosažen maximální počet současných hovorů."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "vás volá"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr " a požaduje automatickou zvednutí."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Upravují se parametry hovoru…"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Připojeno."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Hovor přerušen"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "Hovor nebylo možné odložit"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Současný hovor se odkládá…"
|
||||
|
||||
|
|
@ -1884,7 +1884,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "SIP identita, kterou jste zadali, není platná.\nMěla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Nelze se přihlásit jako %s"
|
||||
|
|
@ -2008,7 +2008,7 @@ msgstr "Klíč k ověření totožnosti je %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
132
po/de.po
|
|
@ -12,10 +12,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-27 14:57+0000\n"
|
||||
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/linphone-gtk/language/de/)\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: German (http://www.transifex.com/p/linphone-gtk/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -134,88 +134,88 @@ msgstr "Starte den Audio-Assistent"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr "Selbsttest ausführen und mit 0 beenden, wenn erfolgreich"
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s möchte Sie zu seiner Kontaktliste hinzufügen.\nMöchten Sie ihm erlauben, Ihren Anwesenheitsstatus zu sehen, oder ihn zu Ihrer Kontaktliste hinzufügen?\nWenn Sie mit Nein antworten, wird diese Person vorläufig blockiert."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "Bitte geben Sie Ihr Passwort für den Benutzernamen <i>%s</i>\n für Bereich <i>%s</i> ein:"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Anruf fehlgeschlagen"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Anruf beendet"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Eingehender Anruf"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Annehmen"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Abweisen"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Anruf wird gehalten"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>von %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s schlägt vor, eine Videoübertragung zu starten. Nehmen Sie an?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Website-Verknüpfung"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr "Ein Internet-Video-Telefon"
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Vorgabe)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Vermittlung nach %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Auf diesem Rechner können keine Soundkarten gefunden werden.\nSie können keine Audio-Anrufe tätigen oder entgegennehmen."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Ein freies SIP-Video-Telefon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr "Hallo\n"
|
||||
|
|
@ -578,7 +578,7 @@ msgstr "Kontogültigkeitsprüfung läuft"
|
|||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Fertigstellen"
|
||||
|
||||
|
|
@ -784,101 +784,101 @@ msgstr "abrufen von %s"
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr "Herunterladen der Fernkonfiguration von %s fehlgeschlagen"
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "Keine Stimme ermittelt"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "zu gering"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "gut"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "zu laut"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "Haben Sie die drei Signaltöne gehört?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "Toneinstellungen nicht gefunden"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "Systemtonsteuerung kann nicht gestartet werden"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "Willkommen!\nDieser Assistent hilft Ihnen die Audioeinstellungen für Linphone einzurichten."
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "Aufnahmegerät"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "aufgenommene Lautstärke"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "Keine Stimme"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "Systemtoneinstellungen"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "Wiedergabegerät"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "spiele drei Pieptöne ab"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "Drücken Sie den Aufnahmeknopf und sagen Sie etwas"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "Hören Sie das Aufgenommene"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "Aufnahme"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "Wiedergabe"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "Linphone jetzt starten"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "Audio-Assistant"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "Audio-Assistant"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "Einrichtung MIkrofonverstärker"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "Einrichtung Lautstärke"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "aufnehmen und abspielen"
|
||||
|
||||
|
|
@ -1755,60 +1755,60 @@ msgstr "Einstellen..."
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr "Bitte warten Sie während die Einstellungen vom Server abgerufen werden..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Bereit"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr "Einstellen"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Telefonnummernziel wird gesucht..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Diese Nummer kann nicht aufgelöst werden."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Verbindungsaufbau"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Anruf kann nicht getätigt werden."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Die maximale Anzahl der gleichzeitigen Anrufe ist erreicht."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "ruft Sie an"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr " und fragt nach automatischer Antwort."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Die Anrufparameter werden verändert..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Verbunden."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Anruf abgebrochen"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "Anruf kann nicht gehalten werden"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Aktueller Anruf wird gehalten..."
|
||||
|
||||
|
|
@ -1884,7 +1884,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "Die von Ihnen eingegebene SIP-Identität ist ungültig.\nSie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:alice@beispiel.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Anmeldung als %s fehlgeschlagen"
|
||||
|
|
@ -2008,7 +2008,7 @@ msgstr "Authentifizierungs-Token ist %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr "Anrufparameter wurden erfolgreich geändert."
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/es.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/linphone-gtk/language/es/)\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/p/linphone-gtk/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -129,88 +129,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s desea añadirle a su lista de contactos.\n¿Desea permitirle ver su estado de presencia o añadirle a su lista de contactos?\nSi responde no, esta persona será bloqueada temporalmente."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Llamada entrante"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Contestar"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Enlace a la Web"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Opción predeterminada)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Somos transferidos a %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "No se ha encontrado una tarjeta de sonido en este equipo.\nNo será posible realizar o recibir llamadas de audio."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Un video-teléfono SIP gratuito"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -573,7 +573,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -779,101 +779,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1750,60 +1750,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Buscando el número de teléfono del destinatario…"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "No se ha podido resolver este número."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Disculpe, se ha alcanzado el máximo número de llamadas simultáneas"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "y ha solicitado auto respuesta."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Modificando parámetros de llamada…"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Conectado."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "No se pudo pausar la llamada"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Pausando la llamada actual..."
|
||||
|
||||
|
|
@ -1879,7 +1879,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "La identidad SIP que ha introducido no es válida.\nDebe ser del tipo sip:username@proxydomain, como por ejemplo sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr ""
|
||||
|
|
@ -2003,7 +2003,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/fr.po
|
|
@ -12,10 +12,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 14:02+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/linphone-gtk/language/fr/)\n"
|
||||
"Language-Team: French (http://www.transifex.com/p/linphone-gtk/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -134,88 +134,88 @@ msgstr "Démarre l'assistant audio"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr "Exécuter le test local et retourner 0 en cas de succès"
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s souhaite vous ajouter à sa liste de contact.\nSouhaitez vous l'autoriser à voir votre information de présence et l'ajouter à votre liste également ?\nSi vous répondez non, cette personne sera mise temporairement sur liste noire."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "Entrez le mot de passe pour <i>%s</i>\n sur le domaine <i>%s</i>:"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Erreur lors de l'appel"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Appel terminé."
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Appel entrant"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Répondre"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Refuser"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Appel en pause"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "b>par %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s propose de démarrer la vidéo. Acceptez-vous ?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Lien site web"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr "Appels vidéo via internet"
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (par défaut)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Transfert vers %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Aucune carte son n'a été détectée sur cet ordinateur.\nVous ne pourrez pas effectuer d'appels audio."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Un visiophone libre"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr "Bonjour\n"
|
||||
|
|
@ -578,7 +578,7 @@ msgstr "Vérification de la validité du compte en cours"
|
|||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "En cours d’arrêt."
|
||||
|
||||
|
|
@ -784,101 +784,101 @@ msgstr "chargement depuis %s"
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr "Le chargement de la configuration depuis %s a échoué."
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "Voix non détectée"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "Trop bas"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "Bien"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "Trop bruyant"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "Avez-vous entendu trois bips ?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "Préférences son non trouvé"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "Impossible de démarrer le contrôleur système du son"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "Bienvenue !\nCet assistant va vous aider à régler les paramètres audio de votre ordinateur pour une utilisation optimale avec Linphone."
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "Périphérique de capture"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "Volume enregistré"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "Silencieux"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "Préférences son système"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "Périphérique d'écoute"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "Joue trois bips"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "Appuyer sur le bouton enregistrer et dites quelques mots"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "Ecoutez votre voix enregistrée"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "Enregistrer"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "Jouer"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "Démarrons Linphone maintenant"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "Assistant audio"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "Assistant audio"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "Calibration du gain du microphone"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "Calibration du volume du haut parleur"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "Enregistrer et joue"
|
||||
|
||||
|
|
@ -1755,60 +1755,60 @@ msgstr "Configuration en cours"
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr "Veuillez patenter un instant pendant le chargement de la configuration distante..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Prêt."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr "Configuration en cours"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Recherche de la destination du numéro de téléphone..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "La destination n'a pu être trouvée."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Appel de"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Echec de l'appel"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Désolé, le nombre maximum d'appels simultanés est atteint."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "vous appelle"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "et sollicite un décrochage automatique."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Modifications des paramètres d'appels..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "En ligne."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Appel abandonné"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "La mise en attente a échoué"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Mise en attente de l'appel..."
|
||||
|
||||
|
|
@ -1884,7 +1884,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "L'identité SIP que vous avez fourni est invalide.\nElle doit être de la forme sip:utilisateur@domaine, comme par exemple sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Echec de la connexion en tant que %s"
|
||||
|
|
@ -2008,7 +2008,7 @@ msgstr "Le jeton d'authentification est %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr "Les paramètres d'appel ont été modifiés avec succès."
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/he.po
|
|
@ -12,10 +12,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/linphone-gtk/language/he/)\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/p/linphone-gtk/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -134,88 +134,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s מעוניין להוסיפך אל רשימת אנשי הקשר שלו.\nהאם ברצונך להרשות להם לראות את מצב נוכחותך או להוסיפם אל רשימת אנשי הקשר שלך ?\nהיה ותשובתך תהיה לא, אדם זה יהיה מסומן באופן זמני ברשימה השחורה."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "אנא הזן סיסמה עבור משתמש <i>%s</i>\nבמתחם <i>%s</i>:"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "שגיאת קריאה"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "שיחה הסתיימה"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "קריאה נכנסת"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "לענות"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "לדחות"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "שיחה הושהתה"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>על ידי %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s רוצה להתחיל וידאו. האם אתה מסכים ?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "קישור אתר רשת"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (ברירת מחדל)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "אנחנו מועברים אל %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "לא אותרו כרטיסי קול במחשב זה.\nלא תהיה ביכולתך לשלוח או לקבל שיחות אודיו."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "וידאופון SIP חופשי"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -578,7 +578,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "שגיאה"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "מסיים כעת"
|
||||
|
||||
|
|
@ -784,101 +784,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "נמוך מדי"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "טוב"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "חזק מדי"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "התקן לכידה"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "אין קול"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "התקן השמעה"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "נגן שלושה צפצופים"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "הבא נתחיל את Linphone עכשיו"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1755,60 +1755,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "מוכן"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "מחפש כעת עבור יעד מספר טלפון..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "לא ניתן לפתור את מספר זה."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "מתקשר כעת"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "לא ניתן להתקשר"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "הגענו אל המספר המרבי של שיחות מקבילות, עמך הסליחה"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "מתקשר/ת אליך"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr " ומבקש/ת מענה אוטומטי."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "מתאים כעת פרמטרים של שיחה..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "מקושר."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "קריאה בוטלה"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "לא ניתן להשהות את השיחה"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "משהה כעת שיחה נוכחית..."
|
||||
|
||||
|
|
@ -1884,7 +1884,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "זהות sip שהוזנה הינה שגויה.\nזו צריכה להיראות כמו sip:username@proxydomain, למשל sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "לא ניתן להתחבר בזהות %s"
|
||||
|
|
@ -2008,7 +2008,7 @@ msgstr "אות האימות הינה %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/hu.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/projects/p/linphone-gtk/language/hu/)\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/p/linphone-gtk/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -129,88 +129,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s szeretné Önt hozzáadni partnerlistájához.\nSzeretné megengedni neki, hogy lássa az Ön jelenlétét, illetve hozzá szeretné adni a partnerlistához?\nHa nemmel válaszol, ez a személy átmenetileg tiltólistára kerül."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Hiba a hívás közben"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Hívás vége"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Beérkező hívás"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Hívás fogadása"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Elutasítás"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Hívás várakoztatva"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>a következő által: %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s szerené elidítani a videót. Elfogadja?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Internetes oldal"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Alapértelmezett)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Át vagyunk irányítva ide: %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Hangkártya nincs érzékelve ezen a számítógépen.\nNem fog tudni hang hívásokat küldeni vagy fogadni."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Egy ingyenes SIP video-telefon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -573,7 +573,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "Hiba"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Befejezés"
|
||||
|
||||
|
|
@ -779,101 +779,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1750,60 +1750,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Kész"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Telefonszám-cél keresése..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Nem sikkerült értelmezni a számot."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Kapcsolódás"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Nem sikerült hívni"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Elnézést, elértük a egyidejű hívások maximális számát"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "kapcsolatba lépett veled."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "és automatikus választ kért."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "A hívási jellemzők módosítása..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Kapcsolódva."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Hívás megszakítva"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "Nem sikerült várakoztatni a hívást"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Jelenlegi hívás várakoztatásának aktiválása..."
|
||||
|
||||
|
|
@ -1879,7 +1879,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "Az Ön által megadott SIP identitás érvénytelen.\nÍgy kéne kinéznie: sip:felhasznalonev@proxytartomany, például sip:aladar@pelda.hu"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Nem sikerült belépni ezzel: %s"
|
||||
|
|
@ -2003,7 +2003,7 @@ msgstr "Hitelesítési jel: %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/ja.po
|
|
@ -9,10 +9,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/projects/p/linphone-gtk/language/ja/)\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/p/linphone-gtk/language/ja/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -129,88 +129,88 @@ msgstr "オーディオアシスタントを実行"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s が連絡相手にあなたを追加しようとしています。\nあなたのステータスを参照させるか、もしくは連絡先リストに追加することができます。\nあなたが拒否すると、この人は一時的にブラックリストへ登録されます。"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "呼出エラー"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "呼出終了"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "着信"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "応答"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "拒否"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "呼び出しの一時停止"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>%s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "ウェブサイトリンク"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (デフォルト)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "%s に転送しました"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "無料 SIP ビデオ-電話"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -572,7 +572,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "終了"
|
||||
|
||||
|
|
@ -778,101 +778,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "音声が検出できません"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "小さい"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "丁度よい"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "大きい"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "3回のビープ音が聞こえましたか?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "音声の設定が見つかりません"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "音声制御システムを起動できません"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "キャプチャーデバイス"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "録音音量"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "音声なし"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "システムサウンド設定"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "3回分のビープ音を再生する"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "録音した音声を聞く"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "録音"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "再生"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "Linphoneをはじめる"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "音声アシスタント"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "音声アシスタント"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "マイクのゲイン測定"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "スピーカーの音量測定"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "録音して再生"
|
||||
|
||||
|
|
@ -1749,60 +1749,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "準備"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr ""
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "と自動応答を尋ねる"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "コールパラメーターの変更..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "接続しました。"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "呼び出しを打ち切る"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "呼び出しを一時停止できませんでした"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "現在の通話を一時停止..."
|
||||
|
||||
|
|
@ -1878,7 +1878,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr ""
|
||||
|
|
@ -2002,7 +2002,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/nb_NO.po
|
|
@ -8,10 +8,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/linphone-gtk/language/nb_NO/)\n"
|
||||
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/p/linphone-gtk/language/nb_NO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -130,88 +130,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s vil legge deg til i hans/hennes kontaktliste.\nVil du tillate vedkommende å se din tilstedestatus eller legge vedkommende i din kontaktliste?\nHvis du svarer nei vil personen bli svartelyst midlertidig."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Samtale avsluttet"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Innkommende samtale"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Svarer"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Avvis"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Peker til nettsted"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Standard)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Vi er overført til %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Klarte ikke å finne noe lydkort på denne datamaskinen.\nDu vil ikke kunne sende eller motta lydsamtaler."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "En gratis SIP video-telefon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -574,7 +574,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -780,101 +780,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1751,60 +1751,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Klar"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Ser etter telefonnummer for destinasjonen..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Kan ikke tilkoble dette nummeret."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Tilknytter"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Kunne ikke ringe"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Beklager, du har nådd maksimalt antall samtidige samtaler"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "Kontakter deg."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr " og ba om autosvar."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Endrer ringeparametre..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Tilkoblet"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Samtale avbrutt"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "Kunne ikke pause samtalen"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Pauser nåværende samtale"
|
||||
|
||||
|
|
@ -1880,7 +1880,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "SIP adressen du har angitt er feil. Adressen bør se ut som sip: brukernavn@domenenavn, f.eks sip:ola@eksempel.no"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Ikke ikke logge inn som %s"
|
||||
|
|
@ -2004,7 +2004,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/nl.po
|
|
@ -8,10 +8,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/projects/p/linphone-gtk/language/nl/)\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/p/linphone-gtk/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -130,88 +130,88 @@ msgstr "Doorloop de audio-instelwizard"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr "Draai een zelftest en exit 0 wanneer succesvol"
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s wil u toevoegen aan zijn/haar contactpersonenlijst.\nWilt u toestaan dat hij/zij uw aanwezigheidsstatus ziet of hem/haar toevoegen aan uw contactpersonenljst?\nIndien u nee antwoordt, zal deze persoon tijdelijk op de zwarte lijst worden gezet."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "Vul uw wachtwoord in voor gebruikersnaam <i>%s</i>\nop realm <i>%s</i>"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Oproepfout"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Oproep beëindigd"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Inkomende oproep"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Opnemen"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Weigeren"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Oproep gepauzeerd"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>door %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s stelt u voor om video in te schakelen. Wilt u dit accepteren?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Websitelink"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Standaard)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "We zijn overgeschakeld naar %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Er zijn geluidskaarten aangetroffen op deze computer.\nU zult niet in staat zijn om audio-oproepen te ontvangen of versturen."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Een gratis SIP-videotelefoon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -574,7 +574,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Bezig met vernietigen"
|
||||
|
||||
|
|
@ -780,101 +780,101 @@ msgstr "bezig met ophalen van %s"
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr "Het downloaden van de externe configuratie van %s is mislukt."
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "Er is geen stem gedetecteerd"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "Te zacht"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "Goed"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "Te hard"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "Heeft u drie pieptonen gehoord?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "De geluidsvoorkeuren zijn niet gevonden"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "Het systeemgeluidspaneel kon niet worden gestart"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "Welkom!\nDeze instelwizard zal u begeleiden bij het instellen van de audio-instellingen van Linphone"
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "Opname-apparaat"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "Opgenomen volume"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "Geen stem"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "Systeemgeluidsinstellingen"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "Afspeelapparaat"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "Drie pieptonen afspelen"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "Klik op de opnameknop en zeg enkele woorden"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "Luister naar uw opgenomen stem"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "Opnemen"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "Afspelen"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "Laten we nu Linphone opstarten"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "Audio-instelwizard"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "Audio-instelwizard"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "Kalibratie van het microfoonbereik"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "Kalibratie van het luidsprekervolume"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "Opnemen en afspelen"
|
||||
|
||||
|
|
@ -1751,60 +1751,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Gereed."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Zoekt de lokatie van het telefoonnummer..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Kon dit nummer niet vinden."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Verbonden."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1880,7 +1880,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr ""
|
||||
|
|
@ -2004,7 +2004,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
128
po/pl.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/projects/p/linphone-gtk/language/pl/)\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/p/linphone-gtk/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -131,88 +131,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -576,7 +576,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -782,101 +782,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1753,60 +1753,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr ""
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Połączony"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1882,7 +1882,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr ""
|
||||
|
|
@ -2006,7 +2006,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
128
po/pt_BR.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/linphone-gtk/language/pt_BR/)\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/p/linphone-gtk/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -129,88 +129,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Camadas recebidas"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -573,7 +573,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -779,101 +779,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1750,60 +1750,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Procurando por telefone de destino..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Não foi possível encontrar este número."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Conectado."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1879,7 +1879,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr ""
|
||||
|
|
@ -2003,7 +2003,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
132
po/ru.po
|
|
@ -12,10 +12,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 22:09+0000\n"
|
||||
"Last-Translator: AlexL <loginov.alex.valer@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/projects/p/linphone-gtk/language/ru/)\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/p/linphone-gtk/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -138,88 +138,88 @@ msgstr "Запустить помощника аудио"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr "Запустить самотест и выйти при успехе со статусом 0"
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s вы бы хотели быть добавленным в этот контактный лист.\nВы разрешаете ему(ей) видеть ваш статус присутствия или добавить в контактный лист?\nЕсли вы ответите Нет, эта персона будет временно в чёрном списке."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "Пожалуйста, введите пароль для пользователя <i>%s</i>\n для реалм (рилм) <i>%s</i>:"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Ошибка звонка"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Звонок окончен"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Входящий звонок"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Ответ"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Отклонить"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Звонок приостановлен"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>%s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s предложил запустить видео. Вы принимаете?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Домашняя страница"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr "Видео интернет телефон"
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (по умолчанию)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Мы передали в %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Звуковые карты не были обнаружены на этом компьютере.\nВы не сможете отправлять или получать аудио звонки."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Свободный SIP видео-телефон"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr "Привет\n"
|
||||
|
|
@ -584,7 +584,7 @@ msgstr "Проверка действительности учётной зап
|
|||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Прерывание"
|
||||
|
||||
|
|
@ -790,101 +790,101 @@ msgstr "получение от %s"
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr "Загрузка удалённой конфигурации из %s неудачна."
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "Голос не обнаружен"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "Слишком тихо"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "Хорошо"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "Слишком громко"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "Вы слышали 3 сигнала?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "Настройки звука не найдены"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "Не удаётся запустить системное управление звуком"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "Добро пожаловать!\nЭтот ассистент поможет вам настроить настройки аудио для Linphone."
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "Устройство захвата"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "Уровень записи"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "Нет голоса"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "Системные настройки звука"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "Устройство воспроизведения"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "Проиграть три сигнала"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "Нажмите кнопку записи и скажите несколько слов"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "Прослушайте ваш записанный голос"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "Запись"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "Воспроизведение"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "Давайте сейчас запустим linphone"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "Помощник аудио"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "Помощник аудио"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "Калибровка усиления микрофона"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "Калибровка громкости динамика"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "Записать и проиграть"
|
||||
|
||||
|
|
@ -1761,60 +1761,60 @@ msgstr "Конфигурирование..."
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr "Пожалуйста, подождите пока получается конфигурация с сервера..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Готов"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr "Конфигурирование"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Поиск назначения для телефонного номера.."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Не получилось принять решение по этому номеру."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Соединение"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Невозможно позвонить"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "К сожалению, мы достигли максимального количества одновременных звонков"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "контактирует с вами"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "и спросил автоматический ответ."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Изменение параметров звонка..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Соединён."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Звонок отменён"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "Невозможно приостановить звонок"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Приостановка текущего звонка..."
|
||||
|
||||
|
|
@ -1890,7 +1890,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "Неверные параметры для sip идентификации\nДолжно выглядеть как sip:имя_пользователя@домен_прокси, как например, sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Невозможно зайти как: %s"
|
||||
|
|
@ -2014,7 +2014,7 @@ msgstr "Маркер проверки подлинности: %s"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr "Параметры звонка были успешно изменены."
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/sr.po
|
|
@ -8,10 +8,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Serbian (http://www.transifex.com/projects/p/linphone-gtk/language/sr/)\n"
|
||||
"Language-Team: Serbian (http://www.transifex.com/p/linphone-gtk/language/sr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -132,88 +132,88 @@ msgstr "Покреће помоћника звука"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr "Покреће самоиспробавање и излази 0 ако је успешно"
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s жели да вас дода на списак пријатеља.\nДа ли желите да му допустите да види ваше стање присуства или да га додате на ваш списак пријатеља ?\nАко одговорите са не, ова особа ће привремено бити стављена на списак забрана."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr "Унесите вашу лозинку за корисничко име <i>%s</i>\n на подручју <i>%s</i>:"
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Грешка позива"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Позив је завршен"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Долазни позив"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Јави се"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Одбиј"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Позив је заустављен"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr "<b>од %s</b>"
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr "%s предлаже да започнете видео. Да ли прихватате ?"
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Веза веб сајта"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Линфон"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (основно)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "Преселили смо се на %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "Ниједна звучна картица није откривена на овом рачунару.\nНећете бити у могућности да шаљете или да примате звучне позиве."
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Слободан СИП телефон са снимком"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -577,7 +577,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "Грешка"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Завршавам"
|
||||
|
||||
|
|
@ -783,101 +783,101 @@ msgstr "довлачим са „%s“"
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr "Преузимање удаљеног подешавања са „%s“ није успело."
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "Глас није откривен"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "Сувише низак"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "Добар"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "Сувише гласан"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "Да ли сте чули три писка ?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "Нисам пронашао поставке звука "
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "Не могу да покренем управљање звуком система "
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "Добро дошли!\nОвај помоћник ће вам помоћи да подесите поставке звука за Линфон"
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "Уређај за снимање"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr "Снимљени волумен"
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "Нема гласа"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "Поставке звука система"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "Уређај за пуштање"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "Пусти три писка"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "Притисните дугме за снимање и реците нешто"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "Слушајте ваш снимљени глас"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "Сними"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "Пусти"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr "Хајде сада да покренемо Линфон"
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "Помоћник звука"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "Помоћник звука"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr "Дотеривање појачања микрофона"
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr "Дотеривање јачине звука звучника"
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "Снимите и пустите"
|
||||
|
||||
|
|
@ -1754,60 +1754,60 @@ msgstr "Подешавам..."
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr "Сачекајте док довучем подешавања са сервера..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Спреман"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr "Подешавам"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Тражим одредиште телефонског броја..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Не могу да решим овај број."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Ступам у везу"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "Не могу да позовем"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "Извините, достигли смо највећи број истовремених позива"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "вам се обраћа"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr " и затражени само-одговор."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "Мењам параметре позива..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Повезан сам."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Позив је прекинут"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "Не могу да зауставим позив"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "Заустављам тренутни позив..."
|
||||
|
||||
|
|
@ -1883,7 +1883,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "Сип идентитет који сте унели није исправан.\nТреба да изгледа као „sip:корисник@домен-посредника, као што је „sip:alice@example.net“"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Не могу да се пријавим као %s"
|
||||
|
|
@ -2007,7 +2007,7 @@ msgstr "Симбол потврђивања идентитета је „%s“"
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/sv.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/projects/p/linphone-gtk/language/sv/)\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/p/linphone-gtk/language/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -129,88 +129,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s skulle vilja lägga till dig till hans/hennes kontaktlista.\nVill du tillåta honom/henne att se din närvarostatus eller lägga till honom/henne till din kontaktlista?\nOm du svarar nej, personen kommer att vara bannlyst."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Samtalet slut"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Inkommande samtal"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Avböj"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "Webbsajt"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (Default)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "En gratis SIP video-telefon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -573,7 +573,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -779,101 +779,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1750,60 +1750,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Redo"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "Leta efter telefonnummer för destinationen..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "Kan inte nå dett nummer."
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Kontaktar"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Kopplad"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1879,7 +1879,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "SIP adressen som du matade in är inte rätt. Adressen borde se ut som sip:namn@domän, såsom sip:peter@exempel.se"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "Kunde inte logga in som %s"
|
||||
|
|
@ -2003,7 +2003,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
128
po/tr.po
|
|
@ -8,10 +8,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Turkish (http://www.transifex.com/projects/p/linphone-gtk/language/tr/)\n"
|
||||
"Language-Team: Turkish (http://www.transifex.com/p/linphone-gtk/language/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -130,88 +130,88 @@ msgstr "Ses yardımcısını çalıştır"
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr "Çağrı yanlış"
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "Çağrı sonlandırıldı"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "Gelen çağrı"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "Reddet"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr "Çağrı duraklatıldı"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "İnternet "
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr "Görüntülü internet telefonu"
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "Özgür bir SİP görüntülü-telefon"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr "Merhaba\n"
|
||||
|
|
@ -574,7 +574,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr "Hata"
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr "Sonlandırma"
|
||||
|
||||
|
|
@ -780,101 +780,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr "Ses olmadığı algılandı"
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr "Çok düşük"
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr "İyi"
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr "Çok yüksek"
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr "Üç bip sesi duydun mu?"
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr "Ses tercihleri bulunamadı"
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr "Ses kontrol sistemi başlatılamıyor"
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr "Hoşgeldiniz!\nBu yardımcı,Linphone'un ses ayarlarını yapılandırmanıza yardım edecek"
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr "Görüntü yakalama aygıtı"
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr "Ses yok"
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr "Sistem ses tercihleri"
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr "Oynatma aygıtı"
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr "Üç bip sesi çal"
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr "Kayıt tuşuna bas ve bazı kelimeler söyle"
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr "Kaydettiğin sesi dinle"
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr "Kayıt"
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr "Çalma"
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr "Ses Yardımcısı"
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr "Ses yardımcısı"
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr "Kaydet ve Oynat"
|
||||
|
||||
|
|
@ -1751,60 +1751,60 @@ msgstr "Yapılandırılıyor..."
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "Hazır"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr "Yapılandırılıyor"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr ""
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "Bağlanıyor"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "Bağlandı."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "Çağrı iptal edildi"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1880,7 +1880,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr ""
|
||||
|
|
@ -2004,7 +2004,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/zh_CN.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/linphone-gtk/language/zh_CN/)\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/p/linphone-gtk/language/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -127,88 +127,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s 想加您为联系人。\n您是否允许他看到您的在线状态或者将它加为您的联系人允许?\n如果您回答否,则会将该人临时性的放入黑名单"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "呼叫结束"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "呼入"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "拒绝"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "网站"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (默认)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "未在此计算机上检测到声卡。\n您无法发送或接收音频呼叫。"
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "免费的 SIP 视频电话"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -570,7 +570,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -776,101 +776,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1747,60 +1747,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "就绪"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "查询电话号码目的地..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "该号码无法解析。"
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "联系中"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "正在联系您"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr " 并询问了自动回答。"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "已连接。"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1876,7 +1876,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "您输入的地址无效。\n它应具有“sip:用户名@代理域”的形式,例如 sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "无法登录为 %s"
|
||||
|
|
@ -2000,7 +2000,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
130
po/zh_TW.po
|
|
@ -7,10 +7,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: linphone-gtk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-26 15:49+0200\n"
|
||||
"PO-Revision-Date: 2015-06-26 13:49+0000\n"
|
||||
"POT-Creation-Date: 2015-07-17 09:34+0200\n"
|
||||
"PO-Revision-Date: 2015-07-17 07:34+0000\n"
|
||||
"Last-Translator: Belledonne Communications <support@belledonne-communications.com>\n"
|
||||
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/linphone-gtk/language/zh_TW/)\n"
|
||||
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/p/linphone-gtk/language/zh_TW/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
@ -127,88 +127,88 @@ msgstr ""
|
|||
msgid "Run self test and exit 0 if succeed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1082
|
||||
#: ../gtk/main.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s would like to add you to his contact list.\n"
|
||||
"Would you allow him to see your presence status or add him to your contact list ?\n"
|
||||
"%s would like to add you to his/her contact list.\n"
|
||||
"Would you add him/her to your contact list and allow him/her to see your presence status?\n"
|
||||
"If you answer no, this person will be temporarily blacklisted."
|
||||
msgstr "%s 想要加您加入他的連絡人清單。\n您是否要允許他看見您的上線狀態或將他加入您的連絡人清單?\n如果您回答否,這個人會被暫時列入黑名單。"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1159
|
||||
#: ../gtk/main.c:1155
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter your password for username <i>%s</i>\n"
|
||||
" at realm <i>%s</i>:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1280
|
||||
#: ../gtk/main.c:1276
|
||||
msgid "Call error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1283 ../coreapi/linphonecore.c:3909
|
||||
#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739
|
||||
msgid "Call ended"
|
||||
msgstr "通話已結束"
|
||||
|
||||
#: ../gtk/main.c:1286 ../coreapi/call_log.c:221
|
||||
#: ../gtk/main.c:1282 ../coreapi/call_log.c:221
|
||||
msgid "Incoming call"
|
||||
msgstr "來電"
|
||||
|
||||
#: ../gtk/main.c:1288 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
|
||||
msgid "Answer"
|
||||
msgstr "接聽"
|
||||
|
||||
#: ../gtk/main.c:1290 ../gtk/main.ui.h:6
|
||||
#: ../gtk/main.c:1286 ../gtk/main.ui.h:6
|
||||
msgid "Decline"
|
||||
msgstr "拒接"
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
msgid "Call paused"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1296
|
||||
#: ../gtk/main.c:1292
|
||||
#, c-format
|
||||
msgid "<b>by %s</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1366
|
||||
#: ../gtk/main.c:1362
|
||||
#, c-format
|
||||
msgid "%s proposed to start video. Do you accept ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1521
|
||||
#: ../gtk/main.c:1517
|
||||
msgid "Website link"
|
||||
msgstr "網站連結"
|
||||
|
||||
#: ../gtk/main.c:1580 ../gtk/waiting.ui.h:1
|
||||
#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1
|
||||
msgid "Linphone"
|
||||
msgstr "Linphone"
|
||||
|
||||
#: ../gtk/main.c:1581
|
||||
#: ../gtk/main.c:1577
|
||||
msgid "A video internet phone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/main.c:1640
|
||||
#: ../gtk/main.c:1636
|
||||
#, c-format
|
||||
msgid "%s (Default)"
|
||||
msgstr "%s (預設值)"
|
||||
|
||||
#: ../gtk/main.c:1978 ../coreapi/callbacks.c:1077
|
||||
#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077
|
||||
#, c-format
|
||||
msgid "We are transferred to %s"
|
||||
msgstr "我們被轉接到 %s"
|
||||
|
||||
#: ../gtk/main.c:1988
|
||||
#: ../gtk/main.c:1984
|
||||
msgid ""
|
||||
"No sound cards have been detected on this computer.\n"
|
||||
"You won't be able to send or receive audio calls."
|
||||
msgstr "在這臺電腦中偵測不到音效卡。\n您將無法傳送或接收語音電話。"
|
||||
|
||||
#: ../gtk/main.c:2120
|
||||
#: ../gtk/main.c:2116
|
||||
msgid "A free SIP video-phone"
|
||||
msgstr "自由的 SIP 視訊電話"
|
||||
|
||||
#: ../gtk/main.c:2229
|
||||
#: ../gtk/main.c:2225
|
||||
#, c-format
|
||||
msgid "Hello\n"
|
||||
msgstr ""
|
||||
|
|
@ -570,7 +570,7 @@ msgstr ""
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:534
|
||||
#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -776,101 +776,101 @@ msgstr ""
|
|||
msgid "Downloading of remote configuration from %s failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:98
|
||||
#: ../gtk/audio_assistant.c:103
|
||||
msgid "No voice detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:99
|
||||
#: ../gtk/audio_assistant.c:104
|
||||
msgid "Too low"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:100
|
||||
#: ../gtk/audio_assistant.c:105
|
||||
msgid "Good"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:101
|
||||
#: ../gtk/audio_assistant.c:106
|
||||
msgid "Too loud"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:183
|
||||
#: ../gtk/audio_assistant.c:188
|
||||
msgid "Did you hear three beeps ?"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297
|
||||
#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304
|
||||
msgid "Sound preferences not found "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:306
|
||||
#: ../gtk/audio_assistant.c:313
|
||||
msgid "Cannot launch system sound control "
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:318
|
||||
#: ../gtk/audio_assistant.c:325
|
||||
msgid ""
|
||||
"Welcome!\n"
|
||||
"This assistant will help you to configure audio settings for Linphone"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:328
|
||||
#: ../gtk/audio_assistant.c:335
|
||||
msgid "Capture device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:329
|
||||
#: ../gtk/audio_assistant.c:336
|
||||
msgid "Recorded volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:333
|
||||
#: ../gtk/audio_assistant.c:340
|
||||
msgid "No voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373
|
||||
#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380
|
||||
msgid "System sound preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:369
|
||||
#: ../gtk/audio_assistant.c:376
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:370
|
||||
#: ../gtk/audio_assistant.c:377
|
||||
msgid "Play three beeps"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:403
|
||||
#: ../gtk/audio_assistant.c:410
|
||||
msgid "Press the record button and say some words"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:404
|
||||
#: ../gtk/audio_assistant.c:411
|
||||
msgid "Listen to your record voice"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:405
|
||||
#: ../gtk/audio_assistant.c:412
|
||||
msgid "Record"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:406
|
||||
#: ../gtk/audio_assistant.c:413
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:433
|
||||
#: ../gtk/audio_assistant.c:440
|
||||
msgid "Let's start Linphone now"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:503
|
||||
#: ../gtk/audio_assistant.c:510
|
||||
msgid "Audio Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:32
|
||||
#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32
|
||||
msgid "Audio assistant"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:518
|
||||
#: ../gtk/audio_assistant.c:525
|
||||
msgid "Mic Gain calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:524
|
||||
#: ../gtk/audio_assistant.c:531
|
||||
msgid "Speaker volume calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../gtk/audio_assistant.c:529
|
||||
#: ../gtk/audio_assistant.c:536
|
||||
msgid "Record and Play"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1747,60 +1747,60 @@ msgstr ""
|
|||
msgid "Please wait while fetching configuration from server..."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:1567
|
||||
#: ../coreapi/linphonecore.c:1483
|
||||
msgid "Ready"
|
||||
msgstr "準備就緒"
|
||||
|
||||
#: ../coreapi/linphonecore.c:2583
|
||||
#: ../coreapi/linphonecore.c:2413
|
||||
msgid "Configuring"
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecore.c:2757
|
||||
#: ../coreapi/linphonecore.c:2587
|
||||
msgid "Looking for telephone number destination..."
|
||||
msgstr "尋找電話號碼目的端..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:2759
|
||||
#: ../coreapi/linphonecore.c:2589
|
||||
msgid "Could not resolve this number."
|
||||
msgstr "無法解析這個號碼。"
|
||||
|
||||
#. must be known at that time
|
||||
#: ../coreapi/linphonecore.c:3045
|
||||
#: ../coreapi/linphonecore.c:2875
|
||||
msgid "Contacting"
|
||||
msgstr "正在連絡"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3050
|
||||
#: ../coreapi/linphonecore.c:2880
|
||||
msgid "Could not call"
|
||||
msgstr "無法通話"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3201
|
||||
#: ../coreapi/linphonecore.c:3031
|
||||
msgid "Sorry, we have reached the maximum number of simultaneous calls"
|
||||
msgstr "抱歉,我們已達瀏同步通話的最大數目"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3359
|
||||
#: ../coreapi/linphonecore.c:3189
|
||||
msgid "is contacting you"
|
||||
msgstr "正在連絡您"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3360
|
||||
#: ../coreapi/linphonecore.c:3190
|
||||
msgid " and asked autoanswer."
|
||||
msgstr "並要求自動接聽。"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3486
|
||||
#: ../coreapi/linphonecore.c:3316
|
||||
msgid "Modifying call parameters..."
|
||||
msgstr "修改通話參數..."
|
||||
|
||||
#: ../coreapi/linphonecore.c:3865
|
||||
#: ../coreapi/linphonecore.c:3695
|
||||
msgid "Connected."
|
||||
msgstr "已連線。"
|
||||
|
||||
#: ../coreapi/linphonecore.c:3890
|
||||
#: ../coreapi/linphonecore.c:3720
|
||||
msgid "Call aborted"
|
||||
msgstr "通話已放棄"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4087
|
||||
#: ../coreapi/linphonecore.c:3917
|
||||
msgid "Could not pause the call"
|
||||
msgstr "無法暫停通話"
|
||||
|
||||
#: ../coreapi/linphonecore.c:4090
|
||||
#: ../coreapi/linphonecore.c:3920
|
||||
msgid "Pausing the current call..."
|
||||
msgstr "暫停目前的通話..."
|
||||
|
||||
|
|
@ -1876,7 +1876,7 @@ msgid ""
|
|||
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
|
||||
msgstr "您輸入的 sip 身分是無效的。\n它應該看起來像 sip:使用者名稱@代理網域,像是 sip:alice@example.net"
|
||||
|
||||
#: ../coreapi/proxy.c:1427
|
||||
#: ../coreapi/proxy.c:1420
|
||||
#, c-format
|
||||
msgid "Could not login as %s"
|
||||
msgstr "無法以 %s 登入"
|
||||
|
|
@ -2000,7 +2000,7 @@ msgstr ""
|
|||
msgid "Call parameters were successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: ../coreapi/linphonecall.c:3822
|
||||
#: ../coreapi/linphonecall.c:3826
|
||||
#, c-format
|
||||
msgid "You have missed %i call."
|
||||
msgid_plural "You have missed %i calls."
|
||||
|
|
|
|||
|
|
@ -363,7 +363,6 @@ void simple_call_base(bool_t enable_multicast_recv_side) {
|
|||
const LinphoneAddress *from;
|
||||
LinphoneCall *pauline_call;
|
||||
LinphoneProxyConfig* marie_cfg;
|
||||
const char* marie_id = NULL;
|
||||
|
||||
belle_sip_object_enable_leak_detector(TRUE);
|
||||
begin=belle_sip_object_get_object_count();
|
||||
|
|
@ -373,9 +372,8 @@ void simple_call_base(bool_t enable_multicast_recv_side) {
|
|||
|
||||
/* with the account manager, we might lose the identity */
|
||||
marie_cfg = linphone_core_get_default_proxy_config(marie->lc);
|
||||
marie_id = linphone_proxy_config_get_identity(marie_cfg);
|
||||
{
|
||||
LinphoneAddress* marie_addr = linphone_address_new(marie_id);
|
||||
LinphoneAddress* marie_addr = linphone_address_clone(linphone_proxy_config_get_identity_address(marie_cfg));
|
||||
char* marie_tmp_id = NULL;
|
||||
linphone_address_set_display_name(marie_addr, "Super Marie");
|
||||
marie_tmp_id = linphone_address_as_string(marie_addr);
|
||||
|
|
@ -385,7 +383,7 @@ void simple_call_base(bool_t enable_multicast_recv_side) {
|
|||
linphone_proxy_config_done(marie_cfg);
|
||||
|
||||
ms_free(marie_tmp_id);
|
||||
linphone_address_unref(marie_addr);
|
||||
linphone_address_destroy(marie_addr);
|
||||
}
|
||||
|
||||
linphone_core_enable_audio_multicast(pauline->lc,enable_multicast_recv_side);
|
||||
|
|
@ -695,14 +693,14 @@ static void simple_call_compatibility_mode(void) {
|
|||
stats* stat_marie=&marie->stat;
|
||||
stats* stat_pauline=&pauline->stat;
|
||||
LinphoneProxyConfig* proxy;
|
||||
LinphoneAddress* identity;
|
||||
const LinphoneAddress* identity;
|
||||
LinphoneAddress* proxy_address;
|
||||
char*tmp;
|
||||
LCSipTransports transport;
|
||||
|
||||
linphone_core_get_default_proxy(lc_marie,&proxy);
|
||||
BC_ASSERT_PTR_NOT_NULL (proxy);
|
||||
identity = linphone_address_new(linphone_proxy_config_get_identity(proxy));
|
||||
identity = linphone_proxy_config_get_identity_address(proxy);
|
||||
|
||||
|
||||
proxy_address=linphone_address_new(linphone_proxy_config_get_addr(proxy));
|
||||
|
|
@ -733,7 +731,6 @@ static void simple_call_compatibility_mode(void) {
|
|||
BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call_remote_address(lc_pauline));
|
||||
if (linphone_core_get_current_call_remote_address(lc_pauline)) {
|
||||
BC_ASSERT_TRUE(linphone_address_weak_equal(identity,linphone_core_get_current_call_remote_address(lc_pauline)));
|
||||
linphone_address_destroy(identity);
|
||||
|
||||
linphone_core_accept_call(lc_pauline,linphone_core_get_current_call(lc_pauline));
|
||||
|
||||
|
|
@ -2314,9 +2311,6 @@ static void call_with_file_player(void) {
|
|||
/*make sure the record file doesn't already exists, otherwise this test will append new samples to it*/
|
||||
unlink(recordpath);
|
||||
|
||||
// inter-correlation is very sensitive to variable offset when comparing files, so using a fixed jitter
|
||||
// buffer length should help it a lot.
|
||||
linphone_core_enable_audio_adaptive_jittcomp(pauline->lc, FALSE);
|
||||
|
||||
/*caller uses files instead of soundcard in order to avoid mixing soundcard input with file played using call's player*/
|
||||
linphone_core_use_files(marie->lc,TRUE);
|
||||
|
|
@ -2832,17 +2826,15 @@ static void call_established_with_complex_rejected_operation(void) {
|
|||
linphone_call_send_info_message(linphone_core_get_current_call(marie->lc),linphone_core_create_info_message(marie->lc));
|
||||
|
||||
|
||||
/*by chance, UPDATES can be sent in // to invite, but drawback is that it will not be rejected with 491*/
|
||||
params=linphone_core_create_call_params(marie->lc,linphone_core_get_current_call(marie->lc));
|
||||
params->no_user_consent=TRUE;
|
||||
sal_enable_pending_trans_checking(marie->lc->sal,FALSE); /*to allow // transactions*/
|
||||
linphone_core_enable_payload_type(marie->lc,linphone_core_find_payload_type(marie->lc,"PCMU",8000,1),TRUE);
|
||||
linphone_core_enable_payload_type(marie->lc,linphone_core_find_payload_type(marie->lc,"PCMA",8000,1),FALSE);
|
||||
|
||||
linphone_core_update_call( marie->lc
|
||||
,linphone_core_get_current_call(marie->lc)
|
||||
,params);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
linphone_call_params_destroy(params);
|
||||
|
||||
BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,3));
|
||||
|
|
@ -2862,6 +2854,58 @@ static void call_established_with_complex_rejected_operation(void) {
|
|||
linphone_core_manager_destroy(pauline);
|
||||
}
|
||||
|
||||
static void call_established_with_rejected_info_during_reinvite(void) {
|
||||
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
|
||||
LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
|
||||
bool_t call_ok=FALSE;
|
||||
|
||||
BC_ASSERT_TRUE((call_ok=call(pauline,marie)));
|
||||
if (call_ok){
|
||||
|
||||
BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,1));
|
||||
BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,1));
|
||||
|
||||
linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMU",8000,1),FALSE); /*disable PCMU*/
|
||||
linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMA",8000,1),TRUE); /*enable PCMA*/
|
||||
linphone_core_enable_payload_type(marie->lc,linphone_core_find_payload_type(marie->lc,"PCMU",8000,1),FALSE); /*disable PCMU*/
|
||||
linphone_core_enable_payload_type(marie->lc,linphone_core_find_payload_type(marie->lc,"PCMA",8000,1),TRUE); /*enable PCMA*/
|
||||
|
||||
/*just to authenticate marie*/
|
||||
linphone_call_send_info_message(linphone_core_get_current_call(marie->lc),linphone_core_create_info_message(marie->lc));
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_inforeceived,1));
|
||||
BC_ASSERT_EQUAL(pauline->stat.number_of_inforeceived,1, int, "%d");
|
||||
/*to give time for 200ok to arrive*/
|
||||
wait_for_until(marie->lc,pauline->lc,NULL,0,1000);
|
||||
|
||||
|
||||
//sal_enable_pending_trans_checking(marie->lc->sal,FALSE); /*to allow // transactions*/
|
||||
|
||||
linphone_call_send_info_message(linphone_core_get_current_call(marie->lc),linphone_core_create_info_message(marie->lc));
|
||||
|
||||
//sal_set_send_error(marie->lc->sal, -1); /*to avoid 491 pending to be sent*/
|
||||
|
||||
linphone_core_update_call( pauline->lc
|
||||
,linphone_core_get_current_call(pauline->lc)
|
||||
,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
|
||||
|
||||
|
||||
|
||||
wait_for_until(pauline->lc,pauline->lc,NULL,0,2000); /*to avoid 491 pending to be sent to early*/
|
||||
|
||||
|
||||
BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
|
||||
|
||||
/*just to sleep*/
|
||||
linphone_core_terminate_all_calls(pauline->lc);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallEnd,1));
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallEnd,1));
|
||||
}
|
||||
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
}
|
||||
|
||||
|
||||
static void call_established_with_rejected_reinvite(void) {
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
|
||||
|
|
@ -2990,22 +3034,32 @@ static void call_redirect(void){
|
|||
|
||||
}
|
||||
|
||||
static void call_established_with_rejected_reinvite_with_error(void) {
|
||||
static void call_established_with_rejected_reinvite_with_error_base(bool_t trans_pending) {
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
|
||||
LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
|
||||
bool_t call_ok=TRUE;
|
||||
int result;
|
||||
|
||||
BC_ASSERT_TRUE((call_ok=call(pauline,marie)));
|
||||
|
||||
if (call_ok){
|
||||
linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMA",8000,1),TRUE); /*add PCMA*/
|
||||
|
||||
sal_enable_unconditional_answer(marie->lc->sal,TRUE);
|
||||
if (trans_pending) {
|
||||
LinphoneInfoMessage * info = linphone_core_create_info_message(pauline->lc);
|
||||
linphone_call_send_info_message(linphone_core_get_current_call(pauline->lc),info);
|
||||
|
||||
linphone_core_update_call( pauline->lc
|
||||
} else
|
||||
sal_enable_unconditional_answer(marie->lc->sal,TRUE);
|
||||
|
||||
result = linphone_core_update_call( pauline->lc
|
||||
,linphone_core_get_current_call(pauline->lc)
|
||||
,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
|
||||
|
||||
if (trans_pending)
|
||||
BC_ASSERT_NOT_EQUAL(result,0, int, "%d");
|
||||
else
|
||||
BC_ASSERT_EQUAL(result,0,int, "%d");
|
||||
|
||||
BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
|
||||
|
||||
|
|
@ -3015,6 +3069,9 @@ static void call_established_with_rejected_reinvite_with_error(void) {
|
|||
check_call_state(pauline,LinphoneCallStreamsRunning);
|
||||
check_call_state(marie,LinphoneCallStreamsRunning);
|
||||
|
||||
if (!trans_pending)
|
||||
sal_enable_unconditional_answer(marie->lc->sal,FALSE);
|
||||
|
||||
/*just to sleep*/
|
||||
linphone_core_terminate_all_calls(pauline->lc);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallEnd,1));
|
||||
|
|
@ -3025,6 +3082,14 @@ static void call_established_with_rejected_reinvite_with_error(void) {
|
|||
linphone_core_manager_destroy(pauline);
|
||||
}
|
||||
|
||||
static void call_established_with_rejected_reinvite_with_error(void) {
|
||||
call_established_with_rejected_reinvite_with_error_base(FALSE);
|
||||
}
|
||||
|
||||
static void call_established_with_rejected_reinvite_with_trans_pending_error(void) {
|
||||
call_established_with_rejected_reinvite_with_error_base(TRUE);
|
||||
}
|
||||
|
||||
static void call_rejected_because_wrong_credentials_with_params(const char* user_agent,bool_t enable_auth_req_cb) {
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc");
|
||||
LinphoneAuthInfo* good_auth_info=linphone_auth_info_clone(linphone_core_find_auth_info(marie->lc,NULL,linphone_address_get_username(marie->identity),NULL));
|
||||
|
|
@ -4145,10 +4210,6 @@ static void simple_stereo_call(const char *codec_name, int clock_rate, int bitra
|
|||
marie = linphone_core_manager_new( "marie_rc");
|
||||
pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
|
||||
|
||||
// inter-correlation is very sensitive to variable offset when comparing files, so using a fixed jitter
|
||||
// buffer length should help it a lot.
|
||||
linphone_core_enable_audio_adaptive_jittcomp(pauline->lc, FALSE);
|
||||
|
||||
/*make sure we have opus*/
|
||||
pt = linphone_core_find_payload_type(marie->lc, codec_name, clock_rate, 2);
|
||||
if (!pt) {
|
||||
|
|
@ -4174,14 +4235,14 @@ static void simple_stereo_call(const char *codec_name, int clock_rate, int bitra
|
|||
lp_config_set_string(pauline->lc->config,"sound","features","NONE");
|
||||
|
||||
if (!BC_ASSERT_TRUE(call(pauline,marie))) goto end;
|
||||
wait_for_until(marie->lc, pauline->lc, &dummy, 1,1000);
|
||||
wait_for_until(marie->lc, pauline->lc, &dummy, 1,6000);
|
||||
end_call(pauline, marie);
|
||||
|
||||
|
||||
if (clock_rate!=48000) {
|
||||
ms_warning("Similarity checking not implemented for files not having the same sampling rate");
|
||||
}else{
|
||||
#if !defined(__arm__) && !defined(__arm64__) && !defined(TARGET_IPHONE_SIMULATOR) && !defined(ANDROID)
|
||||
#if !defined(__arm__) && !defined(__arm64__) && !TARGET_IPHONE_SIMULATOR && !defined(ANDROID)
|
||||
double similar;
|
||||
const double threshold = .7f;
|
||||
BC_ASSERT_EQUAL(ms_audio_diff(stereo_file,recordpath,&similar,audio_cmp_max_shift,NULL,NULL), 0, int, "%d");
|
||||
|
|
@ -4194,6 +4255,7 @@ end:
|
|||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
ms_free(stereo_file);
|
||||
unlink(recordpath);
|
||||
ms_free(recordpath);
|
||||
|
||||
leaked_objects=belle_sip_object_get_object_count()-begin;
|
||||
|
|
@ -4216,6 +4278,96 @@ static void simple_mono_call_opus(void){
|
|||
simple_stereo_call("opus", 48000, 150, FALSE);
|
||||
}
|
||||
|
||||
static void call_with_fqdn_in_sdp(void) {
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
|
||||
LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
|
||||
LpConfig *lp;
|
||||
bool_t call_ok;
|
||||
lp = linphone_core_get_config(marie->lc);
|
||||
lp_config_set_string(lp,"rtp","bind_address","localhost");
|
||||
lp = linphone_core_get_config(pauline->lc);
|
||||
lp_config_set_string(lp,"rtp","bind_address","localhost");
|
||||
|
||||
|
||||
BC_ASSERT_TRUE(call_ok=call(pauline,marie));
|
||||
if (!call_ok) goto end;
|
||||
liblinphone_tester_check_rtcp(pauline,marie);
|
||||
|
||||
#ifdef VIDEO_ENABLED
|
||||
BC_ASSERT_TRUE(add_video(pauline,marie, TRUE));
|
||||
liblinphone_tester_check_rtcp(pauline,marie);
|
||||
#endif
|
||||
/*just to sleep*/
|
||||
linphone_core_terminate_all_calls(pauline->lc);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallEnd,1));
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallEnd,1));
|
||||
end:
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
}
|
||||
|
||||
static void call_with_rtp_io_mode(void) {
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
|
||||
LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
|
||||
LinphonePlayer *player;
|
||||
char *hellopath = bc_tester_res("sounds/ahbahouaismaisbon.wav");
|
||||
char *recordpath = create_filepath(bc_tester_get_writable_dir_prefix(), "record-call_with_file_player", "wav");
|
||||
bool_t call_ok;
|
||||
|
||||
/* Make sure that the record file doesn't already exists, otherwise this test will append new samples to it. */
|
||||
unlink(recordpath);
|
||||
|
||||
/* The caller uses files instead of soundcard in order to avoid mixing soundcard input with file played using call's player. */
|
||||
linphone_core_use_files(marie->lc, TRUE);
|
||||
linphone_core_set_play_file(marie->lc, NULL);
|
||||
linphone_core_set_record_file(marie->lc, recordpath);
|
||||
|
||||
/* The callee uses the RTP IO mode with the PCMU codec to send back audio to the caller. */
|
||||
disable_all_audio_codecs_except_one(pauline->lc, "pcmu", -1);
|
||||
lp_config_set_int(pauline->lc->config, "sound", "rtp_io", 1);
|
||||
lp_config_set_string(pauline->lc->config, "sound", "rtp_local_addr", "127.0.0.1");
|
||||
lp_config_set_string(pauline->lc->config, "sound", "rtp_remote_addr", "127.0.0.1");
|
||||
lp_config_set_int(pauline->lc->config, "sound", "rtp_local_port", 17076);
|
||||
lp_config_set_int(pauline->lc->config, "sound", "rtp_remote_port", 17076);
|
||||
lp_config_set_string(pauline->lc->config, "sound", "rtp_map", "pcmu/8000/1");
|
||||
|
||||
BC_ASSERT_TRUE((call_ok = call(marie, pauline)));
|
||||
if (!call_ok) goto end;
|
||||
player = linphone_call_get_player(linphone_core_get_current_call(marie->lc));
|
||||
BC_ASSERT_PTR_NOT_NULL(player);
|
||||
if (player) {
|
||||
BC_ASSERT_TRUE(linphone_player_open(player, hellopath, on_eof, marie) == 0);
|
||||
BC_ASSERT_TRUE(linphone_player_start(player) == 0);
|
||||
}
|
||||
|
||||
/* This assert should be modified to be at least as long as the WAV file */
|
||||
BC_ASSERT_TRUE(wait_for_until(pauline->lc, marie->lc, &marie->stat.number_of_player_eof, 1, 10000));
|
||||
|
||||
linphone_core_terminate_all_calls(marie->lc);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallEnd, 1));
|
||||
|
||||
if (ms_tags_list_contains_tag(ms_factory_get_platform_tags(ms_factory_get_fallback()), "embedded")) {
|
||||
ms_warning("Cannot run audio diff on embedded platform");
|
||||
remove(recordpath);
|
||||
} else {
|
||||
double similar;
|
||||
const int threshold = 90;
|
||||
BC_ASSERT_EQUAL(ms_audio_diff(hellopath, recordpath, &similar, audio_cmp_max_shift, NULL, NULL), 0, int, "%d");
|
||||
BC_ASSERT_GREATER(100 * similar, threshold, int, "%d");
|
||||
BC_ASSERT_LOWER(100 * similar, 100, int, "%d");
|
||||
if ((threshold < (100 * similar)) && ((100 * similar) < 100)) {
|
||||
remove(recordpath);
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
ms_free(recordpath);
|
||||
ms_free(hellopath);
|
||||
}
|
||||
|
||||
test_t call_tests[] = {
|
||||
{ "Early declined call", early_declined_call },
|
||||
{ "Call declined", call_declined },
|
||||
|
|
@ -4317,7 +4469,9 @@ test_t call_tests[] = {
|
|||
{ "Call established with rejected RE-INVITE",call_established_with_rejected_reinvite},
|
||||
{ "Call established with rejected incoming RE-INVITE", call_established_with_rejected_incoming_reinvite },
|
||||
{ "Call established with rejected RE-INVITE in error", call_established_with_rejected_reinvite_with_error},
|
||||
{ "Call established with rejected RE-INVITE with trans pending error", call_established_with_rejected_reinvite_with_trans_pending_error},
|
||||
{ "Call established with complex rejected operation",call_established_with_complex_rejected_operation},
|
||||
{ "Call established with rejected info during re-invite",call_established_with_rejected_info_during_reinvite},
|
||||
{ "Call redirected by callee", call_redirect},
|
||||
{ "Call with specified codec bitrate", call_with_specified_codec_bitrate},
|
||||
{ "Call with in-dialog UPDATE request", call_with_in_dialog_update },
|
||||
|
|
@ -4338,7 +4492,9 @@ test_t call_tests[] = {
|
|||
{ "Unsuccessful call with transport change after released",unsucessfull_call_with_transport_change_after_released},
|
||||
{ "Simple stereo call with L16", simple_stereo_call_l16 },
|
||||
{ "Simple stereo call with opus", simple_stereo_call_opus },
|
||||
{ "Simple mono call with opus", simple_mono_call_opus }
|
||||
{ "Simple mono call with opus", simple_mono_call_opus },
|
||||
{ "Call with FQDN in SDP", call_with_fqdn_in_sdp},
|
||||
{ "Call with RTP IO mode", call_with_rtp_io_mode }
|
||||
};
|
||||
|
||||
test_suite_t call_test_suite = {
|
||||
|
|
|
|||
|
|
@ -777,7 +777,7 @@ static void file_transfer_message_rcs_to_external_body_client(void) {
|
|||
reset_counters(&pauline->stat);
|
||||
}
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs,liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_file_transfer_send);
|
||||
linphone_chat_room_send_chat_message(chat_room,message);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageExtBodyReceived,1));
|
||||
fclose(file_to_send);
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ void liblinphone_tester_uninit(void) {
|
|||
}
|
||||
|
||||
|
||||
#if !defined(ANDROID) && !__ios && !(defined(LINPHONE_WINDOWS_PHONE) || defined(LINPHONE_WINDOWS_UNIVERSAL))
|
||||
#if !__ios && !(defined(LINPHONE_WINDOWS_PHONE) || defined(LINPHONE_WINDOWS_UNIVERSAL))
|
||||
|
||||
static const char* liblinphone_helper =
|
||||
"\t\t\t--verbose\n"
|
||||
|
|
@ -196,6 +196,14 @@ int main (int argc, char *argv[])
|
|||
|
||||
liblinphone_tester_init(NULL);
|
||||
|
||||
if (strstr(argv[0], ".libs")) {
|
||||
char res_dir[128] = {0};
|
||||
// this allows to launch liblinphone_tester from outside of tester directory
|
||||
strncpy(res_dir, argv[0], strstr(argv[0], ".libs")-argv[0]);
|
||||
bc_tester_set_resource_dir_prefix(res_dir);
|
||||
bc_tester_set_writable_dir_prefix(res_dir);
|
||||
}
|
||||
|
||||
for(i = 1; i < argc; ++i) {
|
||||
if (strcmp(argv[i], "--verbose") == 0) {
|
||||
linphone_core_set_log_level_mask(ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
|
||||
|
|
@ -226,14 +234,14 @@ int main (int argc, char *argv[])
|
|||
} else if (strcmp(argv[i],"--keep-recorded-files")==0){
|
||||
liblinphone_tester_keep_recorded_files(TRUE);
|
||||
} else {
|
||||
int ret = bc_tester_parse_args(argc, argv, i);
|
||||
if (ret>0) {
|
||||
i += ret - 1;
|
||||
int bret = bc_tester_parse_args(argc, argv, i);
|
||||
if (bret>0) {
|
||||
i += bret - 1;
|
||||
continue;
|
||||
} else if (ret<0) {
|
||||
} else if (bret<0) {
|
||||
bc_tester_helper(argv[0], liblinphone_helper);
|
||||
}
|
||||
return ret;
|
||||
return bret;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -262,8 +262,8 @@ void notify_presence_received(LinphoneCore *lc, LinphoneFriend * lf);
|
|||
void text_message_received(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from_address, const char *message);
|
||||
void message_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage* message);
|
||||
void file_transfer_received(LinphoneChatMessage *message, const LinphoneContent* content, const LinphoneBuffer *buffer);
|
||||
LinphoneBuffer * file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size);
|
||||
LinphoneBuffer * memory_file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size);
|
||||
LinphoneBuffer * tester_file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size);
|
||||
LinphoneBuffer * tester_memory_file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size);
|
||||
void file_transfer_progress_indication(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t total);
|
||||
void is_composing_received(LinphoneCore *lc, LinphoneChatRoom *room);
|
||||
void info_message_received(LinphoneCore *lc, LinphoneCall *call, const LinphoneInfoMessage *msg);
|
||||
|
|
|
|||
|
|
@ -91,13 +91,13 @@ char big_file[128000]; /* a buffer to simulate a big file for the file transfer
|
|||
/*
|
||||
* function called when the file transfer is initiated. file content should be feed into object LinphoneContent
|
||||
* */
|
||||
LinphoneBuffer * file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size){
|
||||
LinphoneBuffer * tester_file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size){
|
||||
LinphoneBuffer *lb;
|
||||
size_t file_size;
|
||||
size_t size_to_send;
|
||||
FILE *file_to_send;
|
||||
uint8_t *buf;
|
||||
if (size == 0) return linphone_buffer_new(); /*end of file*/
|
||||
|
||||
file_to_send = linphone_chat_message_get_user_data(message);
|
||||
fseek(file_to_send, 0, SEEK_END);
|
||||
file_size = ftell(file_to_send);
|
||||
|
|
@ -105,16 +105,15 @@ LinphoneBuffer * file_transfer_send(LinphoneChatMessage *message, const Linphone
|
|||
size_to_send = MIN(size, file_size - offset);
|
||||
buf = ms_malloc(size_to_send);
|
||||
if (fread(buf, size_to_send, 1, file_to_send)!=size_to_send){
|
||||
ms_error("fread error");
|
||||
// reaching end of file
|
||||
}
|
||||
lb = linphone_buffer_new_from_data(buf, size_to_send);
|
||||
ms_free(buf);
|
||||
return lb;
|
||||
}
|
||||
|
||||
LinphoneBuffer * memory_file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size){
|
||||
LinphoneBuffer * tester_memory_file_transfer_send(LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t size){
|
||||
size_t size_to_send = MIN(size, sizeof(big_file) - offset);
|
||||
if (size == 0) return linphone_buffer_new(); /*end of file*/
|
||||
return linphone_buffer_new_from_data((uint8_t *)big_file + offset, size_to_send);
|
||||
}
|
||||
|
||||
|
|
@ -484,7 +483,7 @@ static void file_transfer_message(void) {
|
|||
reset_counters(&pauline->stat);
|
||||
}
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs,liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_file_transfer_send);
|
||||
linphone_chat_room_send_chat_message(chat_room,message);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceivedWithFile,1));
|
||||
fclose(file_to_send);
|
||||
|
|
@ -553,7 +552,7 @@ static void small_file_transfer_message(void) {
|
|||
}
|
||||
cbs = linphone_chat_message_get_callbacks(message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, memory_file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_memory_file_transfer_send);
|
||||
linphone_chat_room_send_chat_message(chat_room,message);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceivedWithFile,1));
|
||||
if (marie->stat.last_received_chat_message ) {
|
||||
|
|
@ -660,7 +659,7 @@ static void lime_file_transfer_message_base(bool_t encrypt_file) {
|
|||
|
||||
cbs = linphone_chat_message_get_callbacks(message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, memory_file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_memory_file_transfer_send);
|
||||
linphone_chat_room_send_chat_message(chat_room,message);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceivedWithFile,1));
|
||||
if (marie->stat.last_received_chat_message ) {
|
||||
|
|
@ -957,7 +956,7 @@ static void file_transfer_message_io_error_upload(void) {
|
|||
}
|
||||
cbs = linphone_chat_message_get_callbacks(message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, memory_file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_memory_file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_progress_indication(cbs, file_transfer_progress_indication);
|
||||
linphone_chat_room_send_chat_message(chat_room,message);
|
||||
|
||||
|
|
@ -1095,7 +1094,7 @@ static void file_transfer_message_upload_cancelled(void) {
|
|||
}
|
||||
cbs = linphone_chat_message_get_callbacks(message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, memory_file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_memory_file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_progress_indication(cbs, file_transfer_progress_indication);
|
||||
linphone_chat_room_send_chat_message(chat_room,message);
|
||||
|
||||
|
|
@ -1219,7 +1218,7 @@ static void file_transfer_using_external_body_url(void) {
|
|||
}
|
||||
}
|
||||
|
||||
static void file_transfer_message_two_messages() {
|
||||
static void file_transfer_2_messages_simultaneously() {
|
||||
if (transport_supported(LinphoneTransportTls)) {
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc");
|
||||
char* to;
|
||||
|
|
@ -1259,19 +1258,26 @@ static void file_transfer_message_two_messages() {
|
|||
linphone_chat_message_set_user_data(message, file_to_send);
|
||||
message2 = linphone_chat_room_create_file_transfer_message(pauline_room, content);
|
||||
linphone_chat_message_set_user_data(message2, file_to_send);
|
||||
linphone_content_unref(content);
|
||||
|
||||
|
||||
|
||||
{
|
||||
/*just to have time to purge message stored in the server*/
|
||||
int dummy=0;
|
||||
wait_for_until(marie->lc,pauline->lc,&dummy,1,100); /*just to have time to purge message stored in the server*/
|
||||
wait_for_until(marie->lc,pauline->lc,&dummy,1,100);
|
||||
reset_counters(&marie->stat);
|
||||
reset_counters(&pauline->stat);
|
||||
}
|
||||
|
||||
cbs = linphone_chat_message_get_callbacks(message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs,liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_file_transfer_send);
|
||||
cbs = linphone_chat_message_get_callbacks(message2);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs,liblinphone_tester_chat_message_msg_state_changed);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, file_transfer_send);
|
||||
linphone_chat_message_cbs_set_file_transfer_send(cbs, tester_file_transfer_send);
|
||||
|
||||
BC_ASSERT_EQUAL(ms_list_size(linphone_core_get_chat_rooms(marie->lc)), 0, int, "%d");
|
||||
linphone_chat_room_send_chat_message(pauline_room,message);
|
||||
linphone_chat_room_send_chat_message(pauline_room,message2);
|
||||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceivedWithFile,1));
|
||||
|
|
@ -1279,8 +1285,17 @@ static void file_transfer_message_two_messages() {
|
|||
BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceivedWithFile,2));
|
||||
message2 = marie->stat.last_received_chat_message;
|
||||
fclose(file_to_send);
|
||||
|
||||
BC_ASSERT_EQUAL(ms_list_size(linphone_core_get_chat_rooms(marie->lc)), 1, int, "%d");
|
||||
if (ms_list_size(linphone_core_get_chat_rooms(marie->lc)) != 1) {
|
||||
char * buf = ms_strdup_printf("Found %d rooms instead of 1: ", ms_list_size(linphone_core_get_chat_rooms(marie->lc)));
|
||||
MSList *it = linphone_core_get_chat_rooms(marie->lc);
|
||||
while (it) {
|
||||
const LinphoneAddress * peer = linphone_chat_room_get_peer_address(it->data);
|
||||
buf = ms_strcat_printf("%s, ", linphone_address_get_username(peer));
|
||||
it = it->next;
|
||||
}
|
||||
ms_error("%s", buf);
|
||||
}
|
||||
|
||||
cbs = linphone_chat_message_get_callbacks(message);
|
||||
linphone_chat_message_cbs_set_msg_state_changed(cbs, liblinphone_tester_chat_message_msg_state_changed);
|
||||
|
|
@ -1299,7 +1314,6 @@ static void file_transfer_message_two_messages() {
|
|||
BC_ASSERT_TRUE(compare_files(send_filepath, receive_filepath));
|
||||
|
||||
linphone_chat_message_unref(message);
|
||||
linphone_content_unref(content);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
ms_free(send_filepath);
|
||||
ms_free(receive_filepath);
|
||||
|
|
@ -1696,7 +1710,7 @@ test_t message_tests[] = {
|
|||
{ "File transfer message upload cancelled", file_transfer_message_upload_cancelled },
|
||||
{ "File transfer message download cancelled", file_transfer_message_download_cancelled },
|
||||
{ "File transfer message using external body url", file_transfer_using_external_body_url },
|
||||
{ "File transfer 2 messages simultaneously", file_transfer_message_two_messages },
|
||||
{ "File transfer 2 messages simultaneously", file_transfer_2_messages_simultaneously },
|
||||
{ "Text message denied", text_message_denied },
|
||||
{ "Info message", info_message },
|
||||
{ "Info message with body", info_message_with_body },
|
||||
|
|
|
|||
|
|
@ -78,10 +78,26 @@ static void phone_normalization_with_dial_escape_plus(void){
|
|||
linphone_proxy_config_destroy(proxy);
|
||||
}
|
||||
|
||||
#define SIP_URI_CHECK(actual, expected) { \
|
||||
LinphoneAddress* res = linphone_proxy_config_normalize_sip_uri(NULL, actual); \
|
||||
char* actual_str = linphone_address_as_string_uri_only(res); \
|
||||
BC_ASSERT_STRING_EQUAL(actual_str, expected); \
|
||||
ms_free(actual_str); \
|
||||
linphone_address_destroy(res); \
|
||||
}
|
||||
|
||||
|
||||
static void sip_uri_normalization(void) {
|
||||
BC_ASSERT_PTR_NULL(linphone_proxy_config_normalize_sip_uri(NULL, "test"));
|
||||
SIP_URI_CHECK("test@linphone.org", "sip:test@linphone.org");
|
||||
SIP_URI_CHECK("test@linphone.org;transport=tls", "sip:test@linphone.org;transport=tls");
|
||||
}
|
||||
|
||||
test_t proxy_config_tests[] = {
|
||||
{ "Phone normalization without proxy", phone_normalization_without_proxy },
|
||||
{ "Phone normalization with proxy", phone_normalization_with_proxy },
|
||||
{ "Phone normalization with dial escape plus", phone_normalization_with_dial_escape_plus },
|
||||
{ "SIP URI normalization", sip_uri_normalization },
|
||||
};
|
||||
|
||||
test_suite_t proxy_config_test_suite = {
|
||||
|
|
|
|||
|
|
@ -170,6 +170,8 @@ static void quality_reporting_not_sent_if_call_not_started() {
|
|||
|
||||
linphone_core_set_max_calls(pauline->lc,0);
|
||||
out_call = linphone_core_invite(marie->lc,"pauline");
|
||||
BC_ASSERT_PTR_NOT_NULL(out_call);
|
||||
if(out_call == NULL) goto end;
|
||||
linphone_call_ref(out_call);
|
||||
|
||||
BC_ASSERT_TRUE(wait_for_until(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallError,1, 10000));
|
||||
|
|
@ -189,6 +191,7 @@ static void quality_reporting_not_sent_if_call_not_started() {
|
|||
BC_ASSERT_EQUAL(marie->stat.number_of_LinphonePublishProgress,0, int, "%d");
|
||||
BC_ASSERT_EQUAL(marie->stat.number_of_LinphonePublishOk,0, int, "%d");
|
||||
|
||||
end:
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -680,7 +680,7 @@ static void io_recv_error_retry_immediatly(){
|
|||
BC_ASSERT_EQUAL(counters->number_of_LinphoneRegistrationFailed,0,int,"%d");
|
||||
sal_set_recv_error(lc->sal, 1); /*reset*/
|
||||
|
||||
BC_ASSERT_TRUE(wait_for(lc,lc,&counters->number_of_LinphoneRegistrationOk,register_ok-number_of_udp_proxy+register_ok));
|
||||
BC_ASSERT_TRUE(wait_for_until(lc,lc,&counters->number_of_LinphoneRegistrationOk,register_ok-number_of_udp_proxy+register_ok,30000));
|
||||
|
||||
linphone_core_manager_destroy(lcm);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -240,6 +240,7 @@ bool_t transport_supported(LinphoneTransportType transport) {
|
|||
LinphoneCoreManager* linphone_core_manager_init(const char* rc_file) {
|
||||
LinphoneCoreManager* mgr= ms_new0(LinphoneCoreManager,1);
|
||||
char *rc_path = NULL;
|
||||
char *hellopath = bc_tester_res("sounds/hello8000.wav");
|
||||
mgr->number_of_cunit_error_at_creation = CU_get_number_of_failures();
|
||||
mgr->v_table.registration_state_changed=registration_state_changed;
|
||||
mgr->v_table.auth_info_requested=auth_info_requested;
|
||||
|
|
@ -289,16 +290,17 @@ LinphoneCoreManager* linphone_core_manager_init(const char* rc_file) {
|
|||
#endif
|
||||
|
||||
|
||||
linphone_core_set_play_file(mgr->lc,hellopath); /*is also used when in pause*/
|
||||
ms_free(hellopath);
|
||||
|
||||
if( manager_count >= 2){
|
||||
char *hellopath = bc_tester_res("sounds/hello8000.wav");
|
||||
char *recordpath = ms_strdup_printf("%s/record_for_lc_%p.wav",bc_tester_get_writable_dir_prefix(),mgr->lc);
|
||||
ms_message("Manager for '%s' using files", rc_file ? rc_file : "--");
|
||||
linphone_core_set_use_files(mgr->lc, TRUE);
|
||||
linphone_core_set_play_file(mgr->lc,hellopath);
|
||||
linphone_core_set_record_file(mgr->lc,recordpath);
|
||||
ms_free(recordpath);
|
||||
ms_free(hellopath);
|
||||
}
|
||||
|
||||
linphone_core_set_user_certificates_path(mgr->lc,bc_tester_get_writable_dir_prefix());
|
||||
|
||||
if (rc_path) ms_free(rc_path);
|
||||
|
|
@ -329,7 +331,7 @@ void linphone_core_manager_start(LinphoneCoreManager *mgr, const char* rc_file,
|
|||
|
||||
linphone_core_get_default_proxy(mgr->lc,&proxy);
|
||||
if (proxy) {
|
||||
mgr->identity = linphone_address_new(linphone_proxy_config_get_identity(proxy));
|
||||
mgr->identity = linphone_address_clone(linphone_proxy_config_get_identity_address(proxy));
|
||||
linphone_address_clean(mgr->identity);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,15 +46,9 @@ static const char* get_ip_from_hostname(const char * tunnel_hostname){
|
|||
return output;
|
||||
}
|
||||
static char* get_public_contact_ip(LinphoneCore* lc) {
|
||||
long contact_host_ip_len;
|
||||
char contact_host_ip[255];
|
||||
char * contact = linphone_proxy_config_get_contact(linphone_core_get_default_proxy_config(lc));
|
||||
const LinphoneAddress * contact = linphone_proxy_config_get_contact(linphone_core_get_default_proxy_config(lc));
|
||||
BC_ASSERT_PTR_NOT_NULL(contact);
|
||||
contact_host_ip_len = strchr(contact, ':')-contact;
|
||||
strncpy(contact_host_ip, contact, contact_host_ip_len);
|
||||
contact_host_ip[contact_host_ip_len]='\0';
|
||||
ms_free(contact);
|
||||
return ms_strdup(contact_host_ip);
|
||||
return ms_strdup(linphone_address_get_domain(contact));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@ extern void *gdk_quartz_window_get_nsview(GdkWindow *window);
|
|||
#include <gdk/gdkkeysyms.h>
|
||||
|
||||
|
||||
static unsigned long get_native_handle(GdkWindow *gdkw) {
|
||||
static void *get_native_handle(GdkWindow *gdkw) {
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
return (unsigned long)GDK_WINDOW_XID(gdkw);
|
||||
return (void *)GDK_WINDOW_XID(gdkw);
|
||||
#elif defined(_WIN32)
|
||||
return (unsigned long)GDK_WINDOW_HWND(gdkw);
|
||||
return (void *)GDK_WINDOW_HWND(gdkw);
|
||||
#elif defined(__APPLE__)
|
||||
return (unsigned long)gdk_quartz_window_get_nsview(gdkw);
|
||||
return (void *)gdk_quartz_window_get_nsview(gdkw);
|
||||
#endif
|
||||
g_warning("No way to get the native handle from gdk window");
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -76,6 +76,9 @@ hand_written_functions = [
|
|||
HandWrittenClassMethod('Buffer', 'new_from_data', 'linphone_buffer_new_from_data', "Create a new LinphoneBuffer object from existing data.\n\n:param data: The initial data to store in the LinphoneBuffer.\n:type data: ByteArray\n:returns: A new LinphoneBuffer object.\n:rtype: linphone.Buffer"),
|
||||
HandWrittenProperty('Buffer', 'content', 'linphone_buffer_get_content', 'linphone_buffer_set_content', "[ByteArray] Set the content of the data buffer."),
|
||||
HandWrittenProperty('Content', 'buffer', 'linphone_content_get_buffer', 'linphone_content_set_buffer', "[ByteArray] Set the content data buffer."),
|
||||
HandWrittenProperty('Call', 'native_video_window_id', 'linphone_call_get_native_video_window_id', 'linphone_call_set_native_video_window_id', "[int] Set the native video window id where the video is to be displayed."),
|
||||
HandWrittenProperty('Core', 'native_preview_window_id', 'linphone_core_get_native_preview_window_id', 'linphone_core_set_native_preview_window_id', "[int] Set the native window id where the preview video (local camera) is to be displayed. This has to be used in conjonction with :py:meth:`linphone.Core.use_preview_window` . MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given."),
|
||||
HandWrittenProperty('Core', 'native_video_window_id', 'linphone_core_get_native_video_window_id', 'linphone_core_set_native_video_window_id', "[int] Set the native video window id where the video is to be displayed. For MacOS, Linux, Windows: if not set or LINPHONE_VIDEO_DISPLAY_AUTO the core will create its own window, unless the special id LINPHONE_VIDEO_DISPLAY_NONE is given."),
|
||||
HandWrittenProperty('Core', 'sip_transports', 'linphone_core_get_sip_transports', 'linphone_core_set_sip_transports', "[:py:class:`linphone.SipTransports`] Sets the ports to be used for each transport. A zero value port for a given transport means the transport is not used. A value of LC_SIP_TRANSPORT_RANDOM (-1) means the port is to be chosen randomly by the system."),
|
||||
HandWrittenProperty('Core', 'sip_transports_used', 'linphone_core_get_sip_transports_used', None, "[:py:class:`linphone.SipTransports`] Retrieves the real port number assigned for each sip transport (udp, tcp, tls). A zero value means that the transport is not activated. If LC_SIP_TRANSPORT_RANDOM was passed to :py:attr:`linphone.Core.sip_transports`, the random port choosed by the system is returned."),
|
||||
HandWrittenProperty('Core', 'sound_devices', 'linphone_core_get_sound_devices', None, "[list of string] Get the available sound devices."),
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
static PyObject * pylinphone_Call_get_native_video_window_id(PyObject *self, void *closure);
|
||||
static int pylinphone_Call_set_native_video_window_id(PyObject *self, PyObject *value, void *closure);
|
||||
static PyObject * pylinphone_Core_get_native_preview_window_id(PyObject *self, void *closure);
|
||||
static int pylinphone_Core_set_native_preview_window_id(PyObject *self, PyObject *value, void *closure);
|
||||
static PyObject * pylinphone_Core_get_native_video_window_id(PyObject *self, void *closure);
|
||||
static int pylinphone_Core_set_native_video_window_id(PyObject *self, PyObject *value, void *closure);
|
||||
static PyObject * pylinphone_Core_get_sip_transports(PyObject *self, void *closure);
|
||||
static int pylinphone_Core_set_sip_transports(PyObject *self, PyObject *value, void *closure);
|
||||
static void pylinphone_Core_dealloc(PyObject *self);
|
||||
|
|
|
|||
|
|
@ -128,6 +128,152 @@ static PyObject * pylinphone_module_method_set_log_handler(PyObject *self, PyObj
|
|||
}
|
||||
|
||||
|
||||
static PyObject * pylinphone_Call_get_native_video_window_id(PyObject *self, void *closure) {
|
||||
void * cresult;
|
||||
PyObject * pyresult;
|
||||
PyObject * pyret;
|
||||
const LinphoneCall *native_ptr;
|
||||
native_ptr = pylinphone_Call_get_native_ptr(self);
|
||||
if (native_ptr == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Invalid linphone.Call instance");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p])", __FUNCTION__, self, native_ptr);
|
||||
cresult = linphone_call_get_native_video_window_id(native_ptr);
|
||||
pylinphone_dispatch_messages();
|
||||
|
||||
pyret = Py_BuildValue("k", (unsigned long)cresult);
|
||||
|
||||
pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> %p", __FUNCTION__, pyret);
|
||||
return pyret;
|
||||
}
|
||||
|
||||
static int pylinphone_Call_set_native_video_window_id(PyObject *self, PyObject *value, void *closure) {
|
||||
LinphoneCall *native_ptr;
|
||||
unsigned long _id;
|
||||
native_ptr = pylinphone_Call_get_native_ptr(self);
|
||||
if (native_ptr == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Invalid linphone.Call instance");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (value == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Cannot delete the 'native_video_window_id' attribute.");
|
||||
return -1;
|
||||
}
|
||||
if (!PyInt_Check(value)) {
|
||||
PyErr_SetString(PyExc_TypeError, "The 'native_video_window_id' attribute value must be a unsigned int.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
_id = (unsigned long)PyInt_AsUnsignedLongMask(value);
|
||||
|
||||
pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p], %u)", __FUNCTION__, self, native_ptr, _id);
|
||||
linphone_call_set_native_video_window_id(native_ptr, (void *)_id);
|
||||
pylinphone_dispatch_messages();
|
||||
pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> 0", __FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static PyObject * pylinphone_Core_get_native_preview_window_id(PyObject *self, void *closure) {
|
||||
void * cresult;
|
||||
PyObject * pyresult;
|
||||
PyObject * pyret;
|
||||
const LinphoneCore *native_ptr;
|
||||
native_ptr = pylinphone_Core_get_native_ptr(self);
|
||||
if (native_ptr == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Invalid linphone.Core instance");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p])", __FUNCTION__, self, native_ptr);
|
||||
cresult = linphone_core_get_native_preview_window_id(native_ptr);
|
||||
pylinphone_dispatch_messages();
|
||||
|
||||
pyret = Py_BuildValue("k", (unsigned long)cresult);
|
||||
|
||||
pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> %p", __FUNCTION__, pyret);
|
||||
return pyret;
|
||||
}
|
||||
|
||||
static int pylinphone_Core_set_native_preview_window_id(PyObject *self, PyObject *value, void *closure) {
|
||||
LinphoneCore *native_ptr;
|
||||
unsigned long _id;
|
||||
native_ptr = pylinphone_Core_get_native_ptr(self);
|
||||
if (native_ptr == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Invalid linphone.Core instance");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (value == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Cannot delete the 'native_preview_window_id' attribute.");
|
||||
return -1;
|
||||
}
|
||||
if (!PyInt_Check(value)) {
|
||||
PyErr_SetString(PyExc_TypeError, "The 'native_preview_window_id' attribute value must be a unsigned int.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
_id = (unsigned long)PyInt_AsUnsignedLongMask(value);
|
||||
|
||||
pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p], %u)", __FUNCTION__, self, native_ptr, _id);
|
||||
linphone_core_set_native_preview_window_id(native_ptr, (void *)_id);
|
||||
pylinphone_dispatch_messages();
|
||||
pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> 0", __FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static PyObject * pylinphone_Core_get_native_video_window_id(PyObject *self, void *closure) {
|
||||
void * cresult;
|
||||
PyObject * pyresult;
|
||||
PyObject * pyret;
|
||||
const LinphoneCore *native_ptr;
|
||||
native_ptr = pylinphone_Core_get_native_ptr(self);
|
||||
if (native_ptr == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Invalid linphone.Core instance");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p])", __FUNCTION__, self, native_ptr);
|
||||
cresult = linphone_core_get_native_video_window_id(native_ptr);
|
||||
pylinphone_dispatch_messages();
|
||||
|
||||
pyret = Py_BuildValue("k", (unsigned long)cresult);
|
||||
|
||||
pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> %p", __FUNCTION__, pyret);
|
||||
return pyret;
|
||||
}
|
||||
|
||||
static int pylinphone_Core_set_native_video_window_id(PyObject *self, PyObject *value, void *closure) {
|
||||
LinphoneCore *native_ptr;
|
||||
unsigned long _id;
|
||||
native_ptr = pylinphone_Core_get_native_ptr(self);
|
||||
if (native_ptr == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Invalid linphone.Core instance");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (value == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Cannot delete the 'native_video_window_id' attribute.");
|
||||
return -1;
|
||||
}
|
||||
if (!PyInt_Check(value)) {
|
||||
PyErr_SetString(PyExc_TypeError, "The 'native_video_window_id' attribute value must be a unsigned int.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
_id = (unsigned long)PyInt_AsUnsignedLongMask(value);
|
||||
|
||||
pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p], %u)", __FUNCTION__, self, native_ptr, _id);
|
||||
linphone_core_set_native_video_window_id(native_ptr, (void *)_id);
|
||||
pylinphone_dispatch_messages();
|
||||
pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> 0", __FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static PyObject * pylinphone_Core_get_sip_transports(PyObject *self, void *closure) {
|
||||
PyObject *pytr;
|
||||
LCSipTransports tr = { 0 };
|
||||
|
|
|
|||
|
|
@ -38,16 +38,6 @@ class TestSetup:
|
|||
assert_equals(lc.config.get_int('sip', 'sip_tcp_port', -2), -1)
|
||||
assert_equals(lc.config.get_int('sip', 'sip_tls_port', -2), -1)
|
||||
|
||||
def test_interpret_url(self):
|
||||
lc = linphone.Core.new({}, None, None)
|
||||
assert lc is not None
|
||||
sips_address = "sips:margaux@sip.linphone.org"
|
||||
address = lc.interpret_url(sips_address)
|
||||
assert address is not None
|
||||
assert_equals(address.scheme, "sips")
|
||||
assert_equals(address.username, "margaux")
|
||||
assert_equals(address.domain, "sip.linphone.org")
|
||||
|
||||
def test_lpconfig_from_buffer(self):
|
||||
buffer = "[buffer]\ntest=ok"
|
||||
buffer_linebreaks = "[buffer_linebreaks]\n\n\n\r\n\n\r\ntest=ok"
|
||||
|
|
|
|||