diff --git a/src/ac/ac_dfa_datacheck.c b/src/ac/ac_dfa_datacheck.c index 5a6a57f..9007015 100644 --- a/src/ac/ac_dfa_datacheck.c +++ b/src/ac/ac_dfa_datacheck.c @@ -209,6 +209,7 @@ int ac_dfa_state_datacheck_to_run(struct ac_session_t* session, struct capwap_pa struct capwap_list* txfragpacket; struct capwap_header_data capwapheader; struct capwap_packet_txmng* txmngpacket; + struct ac_soap_response* response; int status = AC_DFA_ACCEPT_PACKET; ASSERT(session != NULL); @@ -246,7 +247,20 @@ int ac_dfa_state_datacheck_to_run(struct ac_session_t* session, struct capwap_pa capwap_packet_txmng_free(txmngpacket); if (result) { - /* Capwap handshake complete */ + /* Capwap handshake complete, notify event to backend */ + result = 0; + response = ac_soap_runningevent(session, session->wtpid); + if (response) { + if (response->responsecode == HTTP_RESULT_OK) { + result = 1; + } + + ac_soapclient_free_response(response); + } + } + + /* */ + if (result) { ac_dfa_change_state(session, CAPWAP_RUN_STATE); capwap_set_timeout(AC_MAX_ECHO_INTERVAL, &session->timeout, CAPWAP_TIMER_CONTROL_CONNECTION); } else { diff --git a/src/ac/ac_session.h b/src/ac/ac_session.h index 018764a..d19ce07 100644 --- a/src/ac/ac_session.h +++ b/src/ac/ac_session.h @@ -140,5 +140,6 @@ struct ac_soap_response* ac_session_send_soap_request(struct ac_session_t* sessi #define ac_soap_authorizejoin(s, wtpid) ac_session_send_soap_request((s), "authorizeJoin", 1, "xs:string", "wtpid", wtpid) #define ac_soap_configurestatus(s, wtpid, confstatus) ac_session_send_soap_request((s), "configureStatus", 2, "xs:string", "wtpid", wtpid, "xs:base64Binary", "confstatus", confstatus) #define ac_soap_changestateevent(s, wtpid, changestate) ac_session_send_soap_request((s), "changeStateEvent", 2, "xs:string", "wtpid", wtpid, "xs:base64Binary", "changestate", changestate) +#define ac_soap_runningevent(s, wtpid) ac_session_send_soap_request((s), "runningEvent", 1, "xs:string", "wtpid", wtpid) #endif /* __AC_SESSION_HEADER__ */ diff --git a/webservice/smartcapwap.wsdl b/webservice/smartcapwap.wsdl index 7a7a412..2f0b591 100644 --- a/webservice/smartcapwap.wsdl +++ b/webservice/smartcapwap.wsdl @@ -42,6 +42,11 @@ + + + + + @@ -71,6 +76,10 @@ + + + + @@ -134,6 +143,15 @@ + + + + + + + + +