jingle/action-handlers.c
changeset 109 d4d50e62098b
parent 108 7df2fb9a2365
child 111 76ce876f7935
equal deleted inserted replaced
108:7df2fb9a2365 109:d4d50e62098b
   383 }
   383 }
   384 
   384 
   385 void handle_session_terminate(JingleNode *jn)
   385 void handle_session_terminate(JingleNode *jn)
   386 {
   386 {
   387   JingleSession *sess;
   387   JingleSession *sess;
       
   388   GSList *el;
       
   389   SessionContent *sc;
       
   390   
   388   if ((sess = session_find(jn)) == NULL) {
   391   if ((sess = session_find(jn)) == NULL) {
   389     jingle_send_iq_error(jn->message, "cancel", "item-not-found", "unknown-session");
   392     jingle_send_iq_error(jn->message, "cancel", "item-not-found", "unknown-session");
   390     return;
   393     return;
   391   }
   394   }
       
   395   
       
   396   for (el = sess->content; el; el = el->next) {
       
   397     sc = (SessionContent*)el->data;
       
   398     sc->appfuncs->stop(sc->description);
       
   399     session_remove_sessioncontent(sess, sc->name);
       
   400   }
   392   session_delete(sess);
   401   session_delete(sess);
   393   jingle_ack_iq(jn->message);
   402   jingle_ack_iq(jn->message);
   394 }
   403 }