#include "resip/dum/AppDialogSet.hxx" #include "resip/dum/InviteSessionHandler.hxx" #include "resip/dum/ClientInviteSession.hxx" #include "resip/stack/SdpContents.hxx" #include "rutil/Logger.hxx" #define RESIPROCATE_SUBSYSTEM Subsystem::DUM using namespace resip; void InviteSessionHandler::onEarlyMedia(ClientInviteSessionHandle h, const SipMessage& msg, const Contents& body) { if(!mGenericOfferAnswer) { const SdpContents* sdp = dynamic_cast(&body); resip_assert(sdp); onEarlyMedia(h, msg, *sdp); } } void InviteSessionHandler::onStaleCallTimeout(ClientInviteSessionHandle handle) { InfoLog(<< "InviteSessionHandler::onStaleCallTimeout"); } void InviteSessionHandler::terminate(ClientInviteSessionHandle h) { h->getAppDialogSet()->end(); } void InviteSessionHandler::onAckReceived(InviteSessionHandle, const SipMessage& msg) { } void InviteSessionHandler::onAckNotReceived(InviteSessionHandle handle) { InfoLog(<< "InviteSessionHandler::onAckNotReceived"); handle->end(InviteSession::AckNotReceived); } void InviteSessionHandler::onStaleReInviteTimeout(InviteSessionHandle handle) { InfoLog(<< "InviteSessionHandler::onStaleReInviteTimeout"); handle->end(InviteSession::StaleReInvite); } void InviteSessionHandler::onIllegalNegotiation(InviteSessionHandle handle, const SipMessage& msg) { InfoLog(<< "InviteSessionHandler::onIllegalNegotiation"); } void InviteSessionHandler::onSessionExpired(InviteSessionHandle handle) { InfoLog(<< "InviteSessionHandler::onSessionExpired"); handle->end(InviteSession::SessionExpired); } void InviteSessionHandler::onAnswer(InviteSessionHandle h, const SipMessage& msg, const Contents& body) { if(!mGenericOfferAnswer) { const SdpContents* sdp = dynamic_cast(&body); resip_assert(sdp); onAnswer(h, msg, *sdp); } } void InviteSessionHandler::onOffer(InviteSessionHandle h, const SipMessage& msg, const Contents& body) { if(!mGenericOfferAnswer) { const SdpContents* sdp = dynamic_cast(&body); resip_assert(sdp); onOffer(h, msg, *sdp); } } void InviteSessionHandler::onRemoteSdpChanged(InviteSessionHandle, const SipMessage& msg, const SdpContents&) { } void InviteSessionHandler::onRemoteAnswerChanged(InviteSessionHandle h, const SipMessage& msg, const Contents& body) { if(!mGenericOfferAnswer) { const SdpContents* sdp = dynamic_cast(&body); resip_assert(sdp); onRemoteSdpChanged(h, msg, *sdp); } } void InviteSessionHandler::onReadyToSend(InviteSessionHandle, SipMessage& msg) { // default is to do nothing. this is for adornment } void InviteSessionHandler::onOfferRequestRejected(InviteSessionHandle, const SipMessage& msg) { } void InviteSessionHandler::onConnectedConfirmed(InviteSessionHandle handle, const SipMessage& msg) { } void InviteSessionHandler::onPrack(ServerInviteSessionHandle, const SipMessage &msg) { } void InviteSessionHandler::onFlowTerminated(InviteSessionHandle) { InfoLog(<< "InviteSessionHandler::onFlowTerminated"); } /* ==================================================================== * The Vovida Software License, Version 1.0 * * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The names "VOCAL", "Vovida Open Communication Application Library", * and "Vovida Open Communication Application Library (VOCAL)" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact vocal@vovida.org. * * 4. Products derived from this software may not be called "VOCAL", nor * may "VOCAL" appear in their name, without prior written * permission of Vovida Networks, Inc. * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * * ==================================================================== * * This software consists of voluntary contributions made by Vovida * Networks, Inc. and many individuals on behalf of Vovida Networks, * Inc. For more information on Vovida Networks, Inc., please see * . * */