add session.getState()

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14924 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-09-19 15:26:19 +00:00
parent 1ef9b8e716
commit 635e2fb5eb
4 changed files with 37 additions and 5 deletions

View File

@ -236,6 +236,7 @@ SWITCH_DECLARE(void) consoleCleanLog(char *msg);
SWITCH_DECLARE(void) say(const char *tosay, const char *module_name, const char *say_type, const char *say_method); SWITCH_DECLARE(void) say(const char *tosay, const char *module_name, const char *say_type, const char *say_method);
SWITCH_DECLARE(void) sayPhrase(const char *phrase_name, const char *phrase_data = "", const char *phrase_lang = NULL); SWITCH_DECLARE(void) sayPhrase(const char *phrase_name, const char *phrase_data = "", const char *phrase_lang = NULL);
SWITCH_DECLARE(const char *) hangupCause(); SWITCH_DECLARE(const char *) hangupCause();
SWITCH_DECLARE(const char *) getState();
/** \brief Record to a file /** \brief Record to a file
* \param file_name * \param file_name

View File

@ -28788,6 +28788,18 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_hangupCause(void * jarg1) {
} }
SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_getState(void * jarg1) {
char * jresult ;
CoreSession *arg1 = (CoreSession *) 0 ;
char *result = 0 ;
arg1 = (CoreSession *)jarg1;
result = (char *)(arg1)->getState();
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_RecordFile(void * jarg1, char * jarg2, int jarg3, int jarg4, int jarg5) { SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_RecordFile(void * jarg1, char * jarg2, int jarg3, int jarg4, int jarg5) {
int jresult ; int jresult ;
CoreSession *arg1 = (CoreSession *) 0 ; CoreSession *arg1 = (CoreSession *) 0 ;

View File

@ -250,6 +250,11 @@ public class CoreSession : IDisposable {
return ret; return ret;
} }
public string getState() {
string ret = freeswitchPINVOKE.CoreSession_getState(swigCPtr);
return ret;
}
public int RecordFile(string file_name, int time_limit, int silence_threshold, int silence_hits) { public int RecordFile(string file_name, int time_limit, int silence_threshold, int silence_hits) {
int ret = freeswitchPINVOKE.CoreSession_RecordFile(swigCPtr, file_name, time_limit, silence_threshold, silence_hits); int ret = freeswitchPINVOKE.CoreSession_RecordFile(swigCPtr, file_name, time_limit, silence_threshold, silence_hits);
return ret; return ret;
@ -11388,6 +11393,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_CoreSession_hangupCause")] [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_hangupCause")]
public static extern string CoreSession_hangupCause(HandleRef jarg1); public static extern string CoreSession_hangupCause(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getState")]
public static extern string CoreSession_getState(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")] [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")]
public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5); public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);
@ -19235,11 +19243,10 @@ namespace FreeSWITCH.Native {
SCF_USE_SQL = (1 << 0), SCF_USE_SQL = (1 << 0),
SCF_NO_NEW_SESSIONS = (1 << 1), SCF_NO_NEW_SESSIONS = (1 << 1),
SCF_SHUTTING_DOWN = (1 << 2), SCF_SHUTTING_DOWN = (1 << 2),
SCF_CRASH_PROT = (1 << 3), SCF_VG = (1 << 3),
SCF_VG = (1 << 4), SCF_RESTART = (1 << 4),
SCF_RESTART = (1 << 5), SCF_SHUTDOWN_REQUESTED = (1 << 5),
SCF_SHUTDOWN_REQUESTED = (1 << 6), SCF_USE_AUTO_NAT = (1 << 6)
SCF_USE_AUTO_NAT = (1 << 7)
} }
} }

View File

@ -938,6 +938,18 @@ SWITCH_DECLARE(const char *) CoreSession::hangupCause()
return switch_channel_cause2str(cause); return switch_channel_cause2str(cause);
} }
SWITCH_DECLARE(const char *) CoreSession::getState()
{
this_check(NULL);
if (channel) {
return switch_channel_state_name(switch_channel_get_state(channel));
}
return "ERROR";
}
SWITCH_DECLARE(int) CoreSession::originate(CoreSession *a_leg_session, char *dest, int timeout, switch_state_handler_table_t *handlers) SWITCH_DECLARE(int) CoreSession::originate(CoreSession *a_leg_session, char *dest, int timeout, switch_state_handler_table_t *handlers)
{ {