Add Running State control message

This commit is contained in:
vemax78 2013-08-13 17:38:50 +02:00
parent aafe37dc8d
commit 644084f6d8
3 changed files with 34 additions and 1 deletions

View File

@ -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 {

View File

@ -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__ */

View File

@ -42,6 +42,11 @@
<wsdl:message name="changeStateEventResponse">
<wsdl:part name="return" type="xs:base64Binary"/>
</wsdl:message>
<wsdl:message name="runningEvent">
<wsdl:part name="sessionid" type="xs:string"/>
<wsdl:part name="wtpid" type="xs:string"/>
</wsdl:message>
<wsdl:message name="runningEventResponse"/>
<wsdl:portType name="Presence">
<wsdl:operation name="joinBackend">
<wsdl:input message="tns:joinBackend"/>
@ -71,6 +76,10 @@
<wsdl:input message="tns:changeStateEvent"/>
<wsdl:output message="tns:changeStateEventResponse"/>
</wsdl:operation>
<wsdl:operation name="runningEvent">
<wsdl:input message="tns:runningEvent"/>
<wsdl:output message="tns:runningEventResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Presence" type="tns:Presence">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
@ -134,6 +143,15 @@
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="runningEvent">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SmartCAPWAP">
<wsdl:port name="presence" binding="tns:Presence">