expose a few more iax packets to the application and kindof handle them.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5161 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2007-05-12 02:09:59 +00:00
parent 6a8a76888f
commit 6faf831fe5
2 changed files with 17 additions and 2 deletions

View File

@ -1586,7 +1586,7 @@ static struct iax_event *handle_event(struct iax_event *event)
case IAX_EVENT_POKE:
event->etype = IAX_EVENT_PONG;
iax_send_pong(event->session, event->ts);
destroy_session(event->session);
iax_destroy(event->session);
iax_event_free(event);
break;
default:
@ -2683,7 +2683,8 @@ static struct iax_event *iax_header_to_event(struct iax_session *session,
case IAX_COMMAND_POKE:
e->etype = IAX_EVENT_POKE;
e->ts = ts;
break; case IAX_COMMAND_PING:
break;
case IAX_COMMAND_PING:
/* PINGS and PONGS don't get scheduled; */
e->etype = IAX_EVENT_PING;
e->ts = ts;
@ -2718,6 +2719,14 @@ static struct iax_event *iax_header_to_event(struct iax_session *session,
}
e = schedule_delivery(e, ts, updatehistory);
break;
case IAX_COMMAND_REGREQ:
e->etype = IAX_EVENT_REGREQ;
e = schedule_delivery(e, ts, updatehistory);
break;
case IAX_COMMAND_REGREL:
e->etype = IAX_EVENT_REGREQ;
e = schedule_delivery(e, ts, updatehistory);
break;
case IAX_COMMAND_REGACK:
e->etype = IAX_EVENT_REGACK;
e = schedule_delivery(e, ts, updatehistory);

View File

@ -1036,6 +1036,12 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
case IAX_EVENT_REGREJ:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Registration failed.\n");
break;
case IAX_EVENT_REGREQ:
/* what is the right way to handle this? */
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Registration request ignored, not implemented.\n");
iax_destroy(iaxevent->session);
iaxevent->session = NULL;
break;
case IAX_EVENT_TIMEOUT:
break;
case IAX_EVENT_ACCEPT: