static void ei_encode_switch_event_headers(ei_x_buff *ebuf, switch_event_t *event)
{
int i;
+ char *uuid = switch_event_get_header(event, "unique-id");
+
switch_event_header_t *hp;
for (i = 0, hp = event->headers; hp; hp = hp->next, i++);
if (event->body)
i++;
- ei_x_encode_list_header(ebuf, i);
+ ei_x_encode_list_header(ebuf, i+1);
+
+ if (uuid) {
+ ei_x_encode_string(ebuf, switch_event_get_header(event, "unique-id"));
+ } else {
+ ei_x_encode_atom(ebuf, "undefined");
+ }
for (hp = event->headers; hp; hp = hp->next) {
ei_x_encode_tuple_header(ebuf, 2);
ei_x_encode_atom(rbuf, "error");
ei_x_encode_atom(rbuf, "badmem");
}
- /* switch_core_session_rwunlock(session); */ /* XXX is this needed? */
+
+ /* release the lock returned by switch_core_locate_session */
+ switch_core_session_rwunlock(session);
break;
sendmsg_fail: