mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-15 16:39:14 +00:00
tweak to jingle
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3624 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
34be89ec13
commit
322ecbbb9b
@ -1 +1 @@
|
|||||||
Fri Dec 1 21:13:04 EST 2006
|
Tue Dec 12 11:55:02 EST 2006
|
||||||
|
@ -701,6 +701,8 @@ static int on_presence(void *user_data, ikspak *pak)
|
|||||||
|
|
||||||
if (type && !strcasecmp(type, "unavailable")) {
|
if (type && !strcasecmp(type, "unavailable")) {
|
||||||
signal = LDL_SIGNAL_PRESENCE_OUT;
|
signal = LDL_SIGNAL_PRESENCE_OUT;
|
||||||
|
} else if (type && !strcasecmp(type, "probe")) {
|
||||||
|
signal = LDL_SIGNAL_PRESENCE_PROBE;
|
||||||
} else {
|
} else {
|
||||||
signal = LDL_SIGNAL_PRESENCE_IN;
|
signal = LDL_SIGNAL_PRESENCE_IN;
|
||||||
}
|
}
|
||||||
@ -725,20 +727,15 @@ static int on_presence(void *user_data, ikspak *pak)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (resource && strstr(resource, "talk") && (buffer = apr_hash_get(handle->probe_hash, id, APR_HASH_KEY_STRING))) {
|
if (resource && strstr(resource, "talk") && (buffer = apr_hash_get(handle->probe_hash, id, APR_HASH_KEY_STRING))) {
|
||||||
apr_cpystrn(buffer->buf, from, buffer->len);
|
apr_cpystrn(buffer->buf, from, buffer->len);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
buffer->hit = 1;
|
buffer->hit = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!type || (type && strcasecmp(type, "probe"))) {
|
if (handle->session_callback) {
|
||||||
|
handle->session_callback(handle, NULL, signal, to, id, status ? status : "n/a", show ? show : "n/a");
|
||||||
if (handle->session_callback) {
|
}
|
||||||
handle->session_callback(handle, NULL, signal, to, id, status ? status : "n/a", show ? show : "n/a");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return IKS_FILTER_EAT;
|
return IKS_FILTER_EAT;
|
||||||
}
|
}
|
||||||
|
@ -125,6 +125,7 @@ typedef enum {
|
|||||||
LDL_SIGNAL_MSG,
|
LDL_SIGNAL_MSG,
|
||||||
LDL_SIGNAL_PRESENCE_IN,
|
LDL_SIGNAL_PRESENCE_IN,
|
||||||
LDL_SIGNAL_PRESENCE_OUT,
|
LDL_SIGNAL_PRESENCE_OUT,
|
||||||
|
LDL_SIGNAL_PRESENCE_PROBE,
|
||||||
LDL_SIGNAL_ROSTER,
|
LDL_SIGNAL_ROSTER,
|
||||||
LDL_SIGNAL_SUBSCRIBE,
|
LDL_SIGNAL_SUBSCRIBE,
|
||||||
LDL_SIGNAL_UNSUBSCRIBE,
|
LDL_SIGNAL_UNSUBSCRIBE,
|
||||||
|
@ -2107,7 +2107,7 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_special(to)) {
|
if (is_special(to)) {
|
||||||
ldl_handle_send_presence(profile->handle, to, from, NULL, "unknown", "Click To Call");
|
ldl_handle_send_presence(profile->handle, to, from, NULL, NULL, "Click To Call");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
@ -2116,7 +2116,7 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
|||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login);
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login);
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", to);
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", to);
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
|
//switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Click To Call");
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Click To Call");
|
||||||
switch_event_fire(&event);
|
switch_event_fire(&event);
|
||||||
}
|
}
|
||||||
@ -2130,6 +2130,11 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
|||||||
switch_event_fire(&event);
|
switch_event_fire(&event);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case LDL_SIGNAL_PRESENCE_PROBE:
|
||||||
|
if (is_special(to)) {
|
||||||
|
ldl_handle_send_presence(profile->handle, to, from, NULL, NULL, "Click To Call");
|
||||||
|
}
|
||||||
|
break;
|
||||||
case LDL_SIGNAL_PRESENCE_IN:
|
case LDL_SIGNAL_PRESENCE_IN:
|
||||||
|
|
||||||
if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
|
if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
|
||||||
@ -2148,7 +2153,7 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
|||||||
|
|
||||||
|
|
||||||
if (is_special(to)) {
|
if (is_special(to)) {
|
||||||
ldl_handle_send_presence(profile->handle, to, from, NULL, "unknown", "Click To Call");
|
ldl_handle_send_presence(profile->handle, to, from, NULL, NULL, "Click To Call");
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
if (is_special(to)) {
|
if (is_special(to)) {
|
||||||
@ -2156,13 +2161,14 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
|||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login);
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login);
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", to);
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", to);
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
|
//switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
|
||||||
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Click To Call");
|
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Click To Call");
|
||||||
switch_event_fire(&event);
|
switch_event_fire(&event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case LDL_SIGNAL_PRESENCE_OUT:
|
case LDL_SIGNAL_PRESENCE_OUT:
|
||||||
|
|
||||||
if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
|
if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user