mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-03 20:46:28 +00:00
implement use_dates and dates in text messages.
This commit is contained in:
parent
1f4a7fd9f4
commit
313fbaa648
6 changed files with 21 additions and 9 deletions
|
|
@ -677,3 +677,11 @@ const char* sal_op_type_to_string(const SalOpType_t type) {
|
|||
return "SalOpUnknown";
|
||||
}
|
||||
}
|
||||
|
||||
void sal_expire_old_registration_contacts(Sal *ctx, bool_t enabled){
|
||||
ms_warning("sal_expire_old_registration_contacts not implemented ");
|
||||
}
|
||||
|
||||
void sal_use_dates(Sal *ctx, bool_t enabled){
|
||||
ctx->use_dates=enabled;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ struct Sal{
|
|||
bool_t nat_helper_enabled;
|
||||
bool_t tls_verify;
|
||||
bool_t tls_verify_cn;
|
||||
bool_t use_dates;
|
||||
};
|
||||
|
||||
typedef enum SalOpSate {
|
||||
|
|
|
|||
|
|
@ -787,12 +787,6 @@ int sal_call_is_offerer(const SalOp *h){
|
|||
return h->sdp_offering;
|
||||
}
|
||||
|
||||
void sal_expire_old_registration_contacts(Sal *ctx, bool_t enabled){
|
||||
ms_warning("sal_expire_old_registration_contacts not implemented ");
|
||||
}
|
||||
|
||||
void sal_use_dates(Sal *ctx, bool_t enabled){
|
||||
ms_warning("sal_use_dates not implemented yet");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ static void process_request_event(void *op_base, const belle_sip_request_event_t
|
|||
belle_sip_response_t* resp;
|
||||
belle_sip_header_call_id_t* call_id = belle_sip_message_get_header_by_type(req,belle_sip_header_call_id_t);
|
||||
belle_sip_header_cseq_t* cseq = belle_sip_message_get_header_by_type(req,belle_sip_header_cseq_t);
|
||||
belle_sip_header_date_t *date=belle_sip_message_get_header_by_type(req,belle_sip_header_date_t);
|
||||
SalMessage salmsg;
|
||||
char message_id[256]={0};
|
||||
int response_code=501;
|
||||
|
|
@ -109,6 +110,7 @@ static void process_request_event(void *op_base, const belle_sip_request_event_t
|
|||
salmsg.text=plain_text?belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)):NULL;
|
||||
salmsg.url=external_body?belle_sip_parameters_get_parameter(BELLE_SIP_PARAMETERS(content_type),"URL"):NULL;
|
||||
salmsg.message_id=message_id;
|
||||
salmsg.time=date ? belle_sip_header_date_get_time(date) : time(NULL);
|
||||
op->base.root->callbacks.text_received(op,&salmsg);
|
||||
belle_sip_object_unref(address);
|
||||
belle_sip_free(from);
|
||||
|
|
@ -124,10 +126,11 @@ static void process_request_event(void *op_base, const belle_sip_request_event_t
|
|||
}
|
||||
|
||||
int sal_message_send(SalOp *op, const char *from, const char *to, const char* content_type, const char *msg){
|
||||
/*FIXME impement time*/
|
||||
belle_sip_request_t* req;
|
||||
char content_type_raw[256];
|
||||
size_t content_length = msg?strlen(msg):0;
|
||||
time_t curtime=time(NULL);
|
||||
|
||||
sal_op_message_fill_cbs(op);
|
||||
if (from)
|
||||
sal_op_set_from(op,from);
|
||||
|
|
@ -138,6 +141,7 @@ int sal_message_send(SalOp *op, const char *from, const char *to, const char* co
|
|||
snprintf(content_type_raw,sizeof(content_type_raw),BELLE_SIP_CONTENT_TYPE ": %s",content_type);
|
||||
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_content_type_parse(content_type_raw)));
|
||||
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_content_length_create(content_length)));
|
||||
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_date_create_from_time(&curtime)));
|
||||
belle_sip_message_set_body(BELLE_SIP_MESSAGE(req),msg,content_length);
|
||||
return sal_op_send_request(op,req);
|
||||
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ static void register_refresher_listener ( const belle_sip_refresher_t* refresher
|
|||
int sal_register(SalOp *op, const char *proxy, const char *from, int expires){
|
||||
belle_sip_request_t *req;
|
||||
belle_sip_uri_t* req_uri;
|
||||
|
||||
op->type=SalOpRegister;
|
||||
sal_op_set_from(op,from);
|
||||
sal_op_set_to(op,from);
|
||||
|
|
@ -80,7 +81,10 @@ int sal_register(SalOp *op, const char *proxy, const char *from, int expires){
|
|||
req = sal_op_build_request(op,"REGISTER");
|
||||
req_uri = belle_sip_request_get_uri(req);
|
||||
belle_sip_uri_set_user(req_uri,NULL); /*remove userinfo if any*/
|
||||
|
||||
if (op->base.root->use_dates){
|
||||
time_t curtime=time(NULL);
|
||||
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_date_create_from_time(&curtime)));
|
||||
}
|
||||
return sal_op_send_and_create_refresher(op,req,expires,register_refresher_listener);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -967,6 +967,7 @@ static void text_delivery_update(SalOp *op, SalTextDeliveryStatus status){
|
|||
chat_msg->state=chatStatusSal2Linphone(status);
|
||||
linphone_chat_message_store_state(chat_msg);
|
||||
if (chat_msg && chat_msg->cb) {
|
||||
ms_message("Notifying text delivery with status %i",chat_msg->state);
|
||||
chat_msg->cb(chat_msg
|
||||
,chat_msg->state
|
||||
,chat_msg->cb_ud);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue