Compare commits
4 Commits
8ea1d1c075
...
ecc46c1bdd
Author | SHA1 | Date |
---|---|---|
yois615 | ecc46c1bdd | |
Andrey Volk | 5e82e4f305 | |
Andrey Volk | d895fdff60 | |
Joseph Nadiv | 7794f2223c |
|
@ -990,6 +990,8 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
|
|||
}
|
||||
|
||||
memcpy(&handle->sockaddr, result->ai_addr, result->ai_addrlen);
|
||||
freeaddrinfo(result);
|
||||
|
||||
switch(handle->sockaddr.ss_family) {
|
||||
case AF_INET:
|
||||
sockaddr_in = (struct sockaddr_in*)&(handle->sockaddr);
|
||||
|
@ -1005,7 +1007,6 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
|
|||
strncpy(handle->err, "Host resolves to unsupported address family", sizeof(handle->err));
|
||||
goto fail;
|
||||
}
|
||||
freeaddrinfo(result);
|
||||
|
||||
handle->sock = socket(handle->sockaddr.ss_family, SOCK_STREAM, IPPROTO_TCP);
|
||||
|
||||
|
|
|
@ -2984,13 +2984,27 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char *
|
|||
}
|
||||
|
||||
if (!strcasecmp(astate, "early") || !strcasecmp(astate, "confirmed")) {
|
||||
char *cmd;
|
||||
char *callee_id_name = NULL;
|
||||
switch_stream_handle_t user_data_stream = { 0 };
|
||||
|
||||
clean_to_user = switch_mprintf("%s", sub_to_user ? sub_to_user : to_user);
|
||||
clean_from_user = switch_mprintf("%s", from_id ? from_id : from_user);
|
||||
|
||||
SWITCH_STANDARD_STREAM(user_data_stream);
|
||||
cmd = switch_mprintf("%s@%s var effective_caller_id_name", clean_to_user, host);
|
||||
if (switch_api_execute("user_data", cmd, NULL, &user_data_stream) == SWITCH_STATUS_SUCCESS) {
|
||||
if (strncmp("-ERR", user_data_stream.data, 4)) {
|
||||
callee_id_name = (char *)user_data_stream.data;
|
||||
}
|
||||
}
|
||||
|
||||
switch_safe_free(cmd);
|
||||
|
||||
if (is_dialog) {
|
||||
if (!zstr(clean_to_user) && !zstr(clean_from_user)) {
|
||||
stream.write_function(&stream, "<local>\n<identity display=\"%s\">sip:%s@%s</identity>\n", clean_to_user, clean_to_user, host);
|
||||
stream.write_function(&stream, "<local>\n<identity display=\"%s\">sip:%s@%s</identity>\n",
|
||||
zstr(callee_id_name) ? clean_to_user : callee_id_name, clean_to_user, host);
|
||||
stream.write_function(&stream, "<target uri=\"sip:%s@%s\">\n", clean_to_user, host);
|
||||
stream.write_function(&stream, "<param pname=\"+sip.rendering\" pvalue=\"%s\"/>\n", holding ? "no" : "yes");
|
||||
|
||||
|
@ -3060,6 +3074,7 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char *
|
|||
|
||||
switch_safe_free(clean_to_user);
|
||||
switch_safe_free(clean_from_user);
|
||||
switch_safe_free(user_data_stream.data);
|
||||
}
|
||||
if (is_dialog) {
|
||||
stream.write_function(&stream, "</dialog>\n");
|
||||
|
|
Loading…
Reference in New Issue