[asterisk-scf-commits] asterisk-scf/integration/sip.git branch "media" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Sat Jun 25 13:32:48 CDT 2011


branch "media" has been updated
       via  f3022477eb62617f2a573b149e6b04f62e6d458a (commit)
       via  3a2292fc2009763bdd1b8bdf5c61f9bdebac88d1 (commit)
       via  b49bbffd540cb56846df38c934fb05b14fbb61dd (commit)
       via  14ca1270f07e4bd0ce0debd064cd5a4c9c8a0372 (commit)
       via  8e234734142c206ccdf66647e05567b10d5cfd72 (commit)
       via  a04d0359ca706f2a8ce2a3b21464c9ba6e062785 (commit)
       via  289eae68054b0f290bdab7f0e14660493548dadf (commit)
       via  3246440509df7b0d357d507039ab408e03a7a355 (commit)
       via  c486b08a719eca0b3bb87bb5faa81602e4c65ab6 (commit)
       via  5f4c5725e89df126109a572417fd3f6ac36b3d8b (commit)
       via  384cb9af005a7ca75d7599aa2f356e9904024a90 (commit)
       via  09511d65f232bb4d04758c6e124a8649f20ad19b (commit)
      from  216a4bdefd662a4a3e69e051df5cbbb1f4e8ee70 (commit)

Summary of changes:
 .gitmodules                                        |    9 -
 CMakeLists.txt                                     |    7 +-
 cmake                                              |    1 -
 logger                                             |    1 -
 slice                                              |    1 -
 .../SipSessionManager}/SipConfigurationIf.ice      |   13 ++-
 .../SipSessionManager}/SipStateReplicationIf.ice   |   18 ++-
 {local-slice => slice}/SipIf.ice                   |    0
 src/CMakeLists.txt                                 |  100 ++++++-------
 src/PJSipManager.cpp                               |    2 +-
 src/PJSipManager.h                                 |    2 +-
 src/PJSipModule.h                                  |    2 +-
 src/PJSipSessionModule.cpp                         |   17 +-
 src/PJSipSessionModule.h                           |    4 +-
 src/PJSipSessionModuleConstruction.cpp             |    2 +-
 src/SipConfiguration.cpp                           |   64 ++++----
 src/SipEndpoint.cpp                                |   95 +-----------
 src/SipEndpoint.h                                  |   22 +---
 src/SipEndpointFactory.cpp                         |   11 --
 src/SipEndpointFactory.h                           |    2 -
 src/SipSession.cpp                                 |  161 +++++++++++++++++++-
 src/SipSession.h                                   |   12 +-
 src/SipSessionManagerApp.cpp                       |   23 +---
 src/SipStateReplicator.h                           |   10 +-
 src/SipStateReplicatorApp.cpp                      |   13 +-
 src/SipStateReplicatorListener.cpp                 |    3 +-
 26 files changed, 311 insertions(+), 284 deletions(-)
 delete mode 100644 .gitmodules
 delete mode 160000 cmake
 delete mode 160000 logger
 delete mode 160000 slice
 rename {local-slice => slice/AsteriskSCF/Configuration/SipSessionManager}/SipConfigurationIf.ice (98%)
 rename {local-slice => slice/AsteriskSCF/Replication/SipSessionManager}/SipStateReplicationIf.ice (95%)
 rename {local-slice => slice}/SipIf.ice (100%)


- Log -----------------------------------------------------------------
commit f3022477eb62617f2a573b149e6b04f62e6d458a
Author: Joshua Colp <jcolp at digium.com>
Date:   Sat Jun 25 15:33:05 2011 -0300

    Bring up to date with some namespace changes.

diff --git a/src/SipEndpoint.cpp b/src/SipEndpoint.cpp
index a7fa3e8..366af84 100644
--- a/src/SipEndpoint.cpp
+++ b/src/SipEndpoint.cpp
@@ -332,9 +332,10 @@ AsteriskSCF::SipSessionManager::SipSessionPtr SipEndpoint::createSession(const s
 }
 
 AsteriskSCF::SipSessionManager::SipSessionPtr SipEndpoint::createSession(const std::string& destination,
-        const Ice::Identity& sessionid, const Ice::Identity& mediaid,
-        const AsteriskSCF::SIP::V1::RTPMediaSessionSeq& mediasessions, const AsteriskSCF::Media::V1::StreamSourceSeq& sources,
-        const AsteriskSCF::Media::V1::StreamSinkSeq& sinks)
+                                                                         const Ice::Identity& sessionid, const Ice::Identity& mediaid,
+                                                                         const AsteriskSCF::Replication::SipSessionManager::V1::RTPMediaSessionSeq& mediasessions,
+                                                                         const AsteriskSCF::Media::V1::StreamSourceSeq& sources,
+                                                                         const AsteriskSCF::Media::V1::StreamSinkSeq& sinks)
 {
     SipSessionPtr session = new SipSession(mImplPriv->mAdapter, this, destination, sessionid, mediaid, mediasessions,
             sources, sinks, mImplPriv->mManager, mImplPriv->mServiceLocator, mImplPriv->mReplica, false);
diff --git a/src/SipEndpoint.h b/src/SipEndpoint.h
index 3f55eb9..5580b25 100644
--- a/src/SipEndpoint.h
+++ b/src/SipEndpoint.h
@@ -246,8 +246,8 @@ public:
     //
     AsteriskSCF::SipSessionManager::SipSessionPtr createSession(const std::string&);
     AsteriskSCF::SipSessionManager::SipSessionPtr createSession(const std::string&, const Ice::Identity&,
-            const Ice::Identity&, const AsteriskSCF::SIP::V1::RTPMediaSessionSeq&,
-            const AsteriskSCF::Media::V1::StreamSourceSeq&, const AsteriskSCF::Media::V1::StreamSinkSeq&);
+                                                                const Ice::Identity&, const AsteriskSCF::Replication::SipSessionManager::V1::RTPMediaSessionSeq&,
+                                                                const AsteriskSCF::Media::V1::StreamSourceSeq&, const AsteriskSCF::Media::V1::StreamSinkSeq&);
 
     void removeSession(const AsteriskSCF::SessionCommunications::V1::SessionPtr&);
 
diff --git a/src/SipSession.cpp b/src/SipSession.cpp
index c8ae5a0..c233025 100644
--- a/src/SipSession.cpp
+++ b/src/SipSession.cpp
@@ -372,11 +372,11 @@ SipSession::SipSession(const Ice::ObjectAdapterPtr& adapter, const SipEndpointPt
  * Replica constructor.
  */
 SipSession::SipSession(const Ice::ObjectAdapterPtr& adapter, const SipEndpointPtr& endpoint,
-        const std::string& destination, const Ice::Identity& sessionid,
-        const Ice::Identity& mediaid, const AsteriskSCF::SIP::V1::RTPMediaSessionSeq& mediasessions,
-        const AsteriskSCF::Media::V1::StreamSourceSeq& sources, const AsteriskSCF::Media::V1::StreamSinkSeq& sinks,
-        PJSipManager *manager, const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-        const AsteriskSCF::System::Component::V1::ReplicaPtr& replica, bool isUAC)
+                       const std::string& destination, const Ice::Identity& sessionid,
+                       const Ice::Identity& mediaid, const AsteriskSCF::Replication::SipSessionManager::V1::RTPMediaSessionSeq& mediasessions,
+                       const AsteriskSCF::Media::V1::StreamSourceSeq& sources, const AsteriskSCF::Media::V1::StreamSinkSeq& sinks,
+                       PJSipManager *manager, const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
+                       const AsteriskSCF::System::Component::V1::ReplicaPtr& replica, bool isUAC)
     : mImplPriv(new SipSessionPriv(adapter, endpoint, destination, manager, serviceLocator, replica))
 {
     mImplPriv->mSessionProxy =
diff --git a/src/SipSession.h b/src/SipSession.h
index 9789438..f71a28e 100644
--- a/src/SipSession.h
+++ b/src/SipSession.h
@@ -100,7 +100,7 @@ public:
         bool isUAC);
 
     SipSession(const Ice::ObjectAdapterPtr&, const SipEndpointPtr&, const std::string&, const Ice::Identity&,
-               const Ice::Identity&, const AsteriskSCF::SIP::V1::RTPMediaSessionSeq&,
+               const Ice::Identity&, const AsteriskSCF::Replication::SipSessionManager::V1::RTPMediaSessionSeq&,
                const AsteriskSCF::Media::V1::StreamSourceSeq&, const AsteriskSCF::Media::V1::StreamSinkSeq&,
                PJSipManager *manager, const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
                const AsteriskSCF::System::Component::V1::ReplicaPtr& replica,
@@ -202,7 +202,7 @@ public:
 
     void setListeners(const AsteriskSCF::Replication::SipSessionManager::V1::SessionListenerSeq&);
 
-    AsteriskSCF::SIP::V1::RTPMediaSessionSeq getRTPMediaSessions();
+    AsteriskSCF::Replication::SipSessionManager::V1::RTPMediaSessionSeq getRTPMediaSessions();
 
     void enqueueSessionWork(const AsteriskSCF::System::WorkQueue::V1::SuspendableWorkPtr&);
 private:

commit 3a2292fc2009763bdd1b8bdf5c61f9bdebac88d1
Merge: 216a4bd b49bbff
Author: Joshua Colp <jcolp at digium.com>
Date:   Sat Jun 25 14:59:44 2011 -0300

    Merge branch 'master' into media
    
    Conflicts:
    	src/PJSipSessionModule.cpp
    	src/SipEndpoint.cpp

diff --cc slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
index 1478233,5e613db..605b249
--- a/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
+++ b/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
@@@ -149,11 -154,16 +154,16 @@@ module V
        Ice::Identity mMediaSessionObjectId;
        AsteriskSCF::Media::V1::StreamSourceSeq mSources;
        AsteriskSCF::Media::V1::StreamSinkSeq mSinks;
 -      AsteriskSCF::Media::V1::Session *mMediaSession;
 +      RTPMediaSessionSeq mRTPMediaSessions;
        SessionListenerSeq mListeners;
        AsteriskSCF::SessionCommunications::V1::Bridge *mBridge;
+       AsteriskSCF::SessionCommunications::V1::SessionCookieDict mCookies;
     };
  
- }; //module V1
- }; //module SIP
- }; //module Asterisk SCF
+ }; /* module V1 */
+ 
+ }; /* module SipSessionManager */
+ 
+ }; /* module Replication */
+ 
+ }; /* module AsteriskSCF */
diff --cc src/PJSipSessionModule.cpp
index 06fe044,3acfb28..b0372e2
--- a/src/PJSipSessionModule.cpp
+++ b/src/PJSipSessionModule.cpp
@@@ -55,9 -53,7 +55,9 @@@ using namespace AsteriskSCF::Core::Rout
  using namespace AsteriskSCF::Core::Endpoint::V1;
  using namespace AsteriskSCF::SessionCommunications::V1;
  using namespace AsteriskSCF::Media::V1;
 +using namespace AsteriskSCF::Media::RTP::V1;
 +using namespace AsteriskSCF::Media::SDP::V1;
- using namespace AsteriskSCF::SIP::V1;
+ using namespace AsteriskSCF::Replication::SipSessionManager::V1;
  using namespace AsteriskSCF::System::ThreadPool::V1;
  using namespace AsteriskSCF::System::WorkQueue::V1;
  using namespace AsteriskSCF::WorkQueue;
diff --cc src/SipEndpoint.cpp
index d3f485b,2a6af1a..a7fa3e8
--- a/src/SipEndpoint.cpp
+++ b/src/SipEndpoint.cpp
@@@ -268,95 -141,6 +250,25 @@@ void SipEndpoint::setRTPOverIPv6(bool e
      mImplPriv->mConfig.sessionConfig.rtpOverIPv6 = enabled;
  }
  
 +void SipEndpoint::setFormats(const Ice::StringSeq& formats)
 +{
 +    for (Ice::StringSeq::const_iterator format = formats.begin(); format != formats.end(); ++format)
 +    {
 +	SDPDescriptorServiceLocatorParamsPtr params = new SDPDescriptorServiceLocatorParams();
 +	params->category = "Media/SDP_Descriptor";
 +	params->name = (*format);
 +
 +        ConfiguredFormatPtr configuredFormat = new ConfiguredFormat(params->name);
 +        Callback_ServiceLocator_locatePtr descriptorCB = newCallback_ServiceLocator_locate(
 +            configuredFormat, &ConfiguredFormat::locateCB, &ConfiguredFormat::locateFailureCB);
 +
 +        // Before we do the locate make sure this is part of the endpoint
 +        mImplPriv->mFormats.push_back(configuredFormat);
 +
 +        mImplPriv->mServiceLocator->begin_locate(params, descriptorCB);
 +    }
 +}
 +
- void SipEndpoint::setConfiguration(const Ice::PropertyDict& props)
- {
-     setTransportConfiguration(props);
-     //setAuthConfiguration(props);
-     //setRegistrationConfiguration(props);
-     setSessionConfiguration(props);
-     //setMediaConfiguration(props);
-     //setSubscriptionConfiguration(props);
- }
- 
- void SipEndpoint::setTransportConfiguration(const Ice::PropertyDict& props)
- {
-     std::string prefix("Sip.Endpoint.");
-     prefix.append(mImplPriv->mName);
-     prefix.append(".Transport.");
-     // Got the basic prefix. Now get the known config options.
-     Ice::PropertyDict::const_iterator IpAddress = props.find(prefix + "Address");
-     if (IpAddress != props.end())
-     {
-         pj_str_t addr;
-         pj_sockaddr sockaddr;
-         pj_cstr(&addr, IpAddress->second.c_str());
-         if (pj_sockaddr_parse(pj_AF_UNSPEC(), 0, &addr, &sockaddr) != PJ_SUCCESS)
-         {
-             lg(Error) << "Bad address specifier in transport configuration for SIP endpoint " << mImplPriv->mName;
-         }
-         else
-         {
-             mImplPriv->mConfig.transportConfig.address = IpAddress->second;
-         }
-     }
-     Ice::PropertyDict::const_iterator direction = props.find(prefix + "SecureTransport");
-     if (direction != props.end())
-     {
-         mImplPriv->mConfig.transportConfig.secureTransport = SipEndpointConfig::stringToDirection(direction->second);
-     }
-     Ice::PropertyDict::const_iterator user = props.find(prefix + "User");
-     if (user != props.end())
-     {
-         mImplPriv->mConfig.transportConfig.user = user->second;
-     }
- }
- 
- void SipEndpoint::setSessionConfiguration(const Ice::PropertyDict& props)
- {
-     std::string prefix("Sip.Endpoint.");
-     prefix.append(mImplPriv->mName);
-     prefix.append(".Session.");
-     Ice::PropertyDict::const_iterator direction = props.find(prefix + "CallDirection");
-     if (direction != props.end())
-     {
-         mImplPriv->mConfig.sessionConfig.callDirection = SipEndpointConfig::stringToDirection(direction->second);
-     }
-     Ice::PropertyDict::const_iterator address = props.find(prefix + "SourceAddress");
-     if (address != props.end())
-     {
-         pj_str_t addr;
-         pj_sockaddr sockaddr;
-         pj_cstr(&addr, address->second.c_str());
-         if (pj_sockaddr_parse(pj_AF_UNSPEC(), 0, &addr, &sockaddr) != PJ_SUCCESS)
-         {
-             lg(Error) << "Bad address specifier in session configuration for SIP endpoint " << mImplPriv->mName;
-         }
-         else
-         {
-             mImplPriv->mConfig.sessionConfig.sourceAddress = address->second;
-         }
-     }
- }
- 
  Direction SipEndpointConfig::stringToDirection(const std::string& directionString)
  {
      if (directionString == "Both")
diff --cc src/SipSession.h
index dfad6fa,6887630..9789438
--- a/src/SipSession.h
+++ b/src/SipSession.h
@@@ -194,9 -200,9 +200,9 @@@ public
  
      AsteriskSCF::Media::V1::SessionPrx& getMediaSessionProxy();
  
-     void setListeners(const AsteriskSCF::SIP::V1::SessionListenerSeq&);
+     void setListeners(const AsteriskSCF::Replication::SipSessionManager::V1::SessionListenerSeq&);
  
 -    AsteriskSCF::Media::V1::SessionPrx getHiddenMediaSession();
 +    AsteriskSCF::SIP::V1::RTPMediaSessionSeq getRTPMediaSessions();
  
      void enqueueSessionWork(const AsteriskSCF::System::WorkQueue::V1::SuspendableWorkPtr&);
  private:

commit b49bbffd540cb56846df38c934fb05b14fbb61dd
Author: Joshua Colp <jcolp at digium.com>
Date:   Tue Jun 21 17:02:05 2011 -0300

    Merge session cookies support.

diff --git a/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice b/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
index 733deef..5e613db 100644
--- a/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
+++ b/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
@@ -157,6 +157,7 @@ module V1
       AsteriskSCF::Media::V1::Session *mMediaSession;
       SessionListenerSeq mListeners;
       AsteriskSCF::SessionCommunications::V1::Bridge *mBridge;
+      AsteriskSCF::SessionCommunications::V1::SessionCookieDict mCookies;
    };
 
 }; /* module V1 */
diff --git a/src/PJSipSessionModule.cpp b/src/PJSipSessionModule.cpp
index b2aec9b..3acfb28 100644
--- a/src/PJSipSessionModule.cpp
+++ b/src/PJSipSessionModule.cpp
@@ -104,6 +104,7 @@ void PJSipSessionModInfo::updateSessionState(pjsip_inv_session *inv_session)
         {
             mSessionState->mBridge = 0;
         }
+	mSessionState->mCookies = mSession->getAllCookies();
     }
 
     //Now we get stuff from the inv_session itself.
@@ -995,7 +996,7 @@ protected:
                 {
                     SipAMICallbackPtr cb(new SipAMICallback(0, mSession, this, false, true));
                     Ice::CallbackPtr d = Ice::newCallback(cb, &SipAMICallback::callback);
-                    (*listener)->begin_indicated(mSession->getSessionProxy(), new RingingIndication(), d);
+                    (*listener)->begin_indicated(mSession->getSessionProxy(), new RingingIndication(), mSession->getCookies(), d);
                 }
                 catch (const Ice::Exception &ex)
                 {
@@ -1019,7 +1020,7 @@ protected:
                     Ice::CallbackPtr d = Ice::newCallback(cb, &SipAMICallback::callback);
                     ProgressingIndicationPtr progressing(new ProgressingIndication());
                     progressing->response = response;
-                    (*listener)->begin_indicated(mSession->getSessionProxy(), progressing, d);
+                    (*listener)->begin_indicated(mSession->getSessionProxy(), progressing, mSession->getCookies(), d);
                 }
                 catch (const Ice::Exception &ex)
                 {
@@ -1041,7 +1042,7 @@ protected:
                     {
                         SipAMICallbackPtr cb(new SipAMICallback(0, mSession, this, false, true));
                         Ice::CallbackPtr d = Ice::newCallback(cb, &SipAMICallback::callback);
-                        (*listener)->begin_indicated(mSession->getSessionProxy(), new ConnectedIndication(), d);
+                        (*listener)->begin_indicated(mSession->getSessionProxy(), new ConnectedIndication(), mSession->getCookies(), d);
                     }
                     catch (const Ice::Exception &ex)
                     {
@@ -1202,7 +1203,7 @@ protected:
                 {
                     try
                     {
-                        (*listener)->indicated(session->getSessionProxy(), stopped);
+                        (*listener)->indicated(session->getSessionProxy(), stopped, session->getCookies());
                     }
                     catch (const Ice::Exception &ex)
                     {
diff --git a/src/SipSession.cpp b/src/SipSession.cpp
index 979358a..a4d23b1 100644
--- a/src/SipSession.cpp
+++ b/src/SipSession.cpp
@@ -239,6 +239,11 @@ public:
     AsteriskSCF::SessionCommunications::V1::BridgePrx mBridge;
 
     /**
+     * Cookies present on the session.
+     */
+    AsteriskSCF::SessionCommunications::V1::SessionCookieDict mSessionCookies;
+
+    /**
      * The PJSIP manager
      */
     PJSipManager *mManager;
@@ -839,6 +844,150 @@ void SipSession::stop(const AsteriskSCF::SessionCommunications::V1::ResponseCode
     enqueueSessionWork(new StopOperation(response, mImplPriv->mInviteSession));
 }
 
+class SetCookiesOperation : public SuspendableWork
+{
+public:
+    SetCookiesOperation(const AsteriskSCF::SessionCommunications::V1::SessionCookies& cookies,
+                        const boost::shared_ptr<SipSessionPriv>& sessionPriv)
+        : mCookies(cookies), mImplPriv(sessionPriv) { }
+
+    SuspendableWorkResult execute(const SuspendableWorkListenerPtr&)
+    {
+        for (AsteriskSCF::SessionCommunications::V1::SessionCookies::const_iterator i = mCookies.begin();
+             i != mCookies.end();
+             ++i)
+        {
+            mImplPriv->mSessionCookies.erase((*i)->ice_id());
+            mImplPriv->mSessionCookies.insert(make_pair((*i)->ice_id(), (*i)));
+        }
+
+        if (mImplPriv->mInviteSession)
+        {
+            PJSipSessionModInfo *session_mod_info = static_cast<PJSipSessionModInfo*>(mImplPriv->mInviteSession->mod_data[mImplPriv->mManager->getSessionModule()->getModule().id]);
+            session_mod_info->updateSessionState(mImplPriv->mInviteSession);
+            mImplPriv->mManager->getSessionModule()->replicateState(NULL, NULL, session_mod_info);
+        }
+
+        return Complete;
+    }
+
+private:
+    AsteriskSCF::SessionCommunications::V1::SessionCookies mCookies;
+    boost::shared_ptr<SipSessionPriv> mImplPriv;
+};
+
+/**
+ * An implementation of the setCookies method as defined in SessionCommunications.ice which sets cookies
+ * on the session.
+ */
+void SipSession::setCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookies& cookies, const Ice::Current&)
+{
+    lg(Debug) << "queuing a setCookies operation";
+    enqueueSessionWork(new SetCookiesOperation(cookies, mImplPriv));
+}
+
+/**
+ * Internal function to set the cookies (used in replication).
+ */
+void SipSession::setCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookieDict& cookies)
+{
+    mImplPriv->mSessionCookies = cookies;
+}
+
+class RemoveCookiesOperation : public SuspendableWork
+{
+public:
+    RemoveCookiesOperation(const AsteriskSCF::SessionCommunications::V1::SessionCookies& cookieTypes,
+                        const boost::shared_ptr<SipSessionPriv>& sessionPriv)
+        : mCookieTypes(cookieTypes), mImplPriv(sessionPriv) { }
+
+    SuspendableWorkResult execute(const SuspendableWorkListenerPtr&)
+        {
+            for (AsteriskSCF::SessionCommunications::V1::SessionCookies::const_iterator i = mCookieTypes.begin();
+                 i != mCookieTypes.end();
+                 ++i)
+            {
+                mImplPriv->mSessionCookies.erase((*i)->ice_id());
+            }
+
+            if (mImplPriv->mInviteSession)
+            {
+                PJSipSessionModInfo *session_mod_info = static_cast<PJSipSessionModInfo*>(mImplPriv->mInviteSession->mod_data[mImplPriv->mManager->getSessionModule()->getModule().id]);
+                session_mod_info->updateSessionState(mImplPriv->mInviteSession);
+                mImplPriv->mManager->getSessionModule()->replicateState(NULL, NULL, session_mod_info);
+            }
+
+            return Complete;
+        }
+
+private:
+    AsteriskSCF::SessionCommunications::V1::SessionCookies mCookieTypes;
+    boost::shared_ptr<SipSessionPriv> mImplPriv;
+};
+
+/**
+ * An implementation of the removeCookies method as defined in SessionCommunications.ice which removes specific
+ * cookies from the session.
+ */
+void SipSession::removeCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookies& cookieTypes, const Ice::Current&)
+{
+    lg(Debug) << "queuing a removeCookies operation";
+    enqueueSessionWork(new RemoveCookiesOperation(cookieTypes, mImplPriv));
+}
+
+/**
+ * An implementation of the getCookies method as defined in SessionCommunications.ice which gets specific cookies
+ * from the session.
+ */
+AsteriskSCF::SessionCommunications::V1::SessionCookies SipSession::getCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookies& cookieTypes, const Ice::Current&)
+{
+    AsteriskSCF::SessionCommunications::V1::SessionCookies cookies;
+
+    for (AsteriskSCF::SessionCommunications::V1::SessionCookies::const_iterator i = cookieTypes.begin();
+	 i != cookieTypes.end();
+	 ++i)
+    {
+	AsteriskSCF::SessionCommunications::V1::SessionCookieDict::const_iterator cookie = mImplPriv->mSessionCookies.find((*i)->ice_id());
+
+	if (cookie == mImplPriv->mSessionCookies.end())
+	{
+	    continue;
+	}
+
+	cookies.push_back(cookie->second);
+    }
+
+    return cookies;
+}
+
+/**
+ * Internal function which returns all cookies on the session.
+ */
+AsteriskSCF::SessionCommunications::V1::SessionCookies SipSession::getCookies()
+{
+    AsteriskSCF::SessionCommunications::V1::SessionCookies cookies;
+
+    for (AsteriskSCF::SessionCommunications::V1::SessionCookieDict::const_iterator i = mImplPriv->mSessionCookies.begin();
+         i != mImplPriv->mSessionCookies.end();
+         ++i)
+    {
+        cookies.push_back(i->second);
+    }
+
+    return cookies;
+}
+
+/**
+ * Internal function which returns all cookies on the session.
+ */
+AsteriskSCF::SessionCommunications::V1::SessionCookieDict SipSession::getAllCookies()
+{
+    return mImplPriv->mSessionCookies;
+}
+
+/**
+ * Internal function called to destroy an endpoint. This is controlled by signaling.
+ */
 class DestroyOperation : public SuspendableWork
 {
 public:
diff --git a/src/SipSession.h b/src/SipSession.h
index f603fb5..6887630 100644
--- a/src/SipSession.h
+++ b/src/SipSession.h
@@ -161,6 +161,12 @@ public:
     void start(const Ice::Current&);
     void stop(const AsteriskSCF::SessionCommunications::V1::ResponseCodePtr&, const Ice::Current&);
     void unhold(const Ice::Current&);
+    void setCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookies&, const Ice::Current&);
+    void setCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookieDict&);
+    void removeCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookies&, const Ice::Current&);
+    AsteriskSCF::SessionCommunications::V1::SessionCookies getCookies(const AsteriskSCF::SessionCommunications::V1::SessionCookies&, const Ice::Current&);
+    AsteriskSCF::SessionCommunications::V1::SessionCookies getCookies();
+    AsteriskSCF::SessionCommunications::V1::SessionCookieDict getAllCookies();
 
     /**
      * Implementation specific functions.
diff --git a/src/SipStateReplicatorListener.cpp b/src/SipStateReplicatorListener.cpp
index b04abc3..6949339 100644
--- a/src/SipStateReplicatorListener.cpp
+++ b/src/SipStateReplicatorListener.cpp
@@ -112,6 +112,7 @@ public:
 
                 localitem->getSession()->setListeners(session->mListeners);
                 localitem->getSession()->setBridge(session->mBridge);
+		localitem->getSession()->setCookies(session->mCookies);
             }
             else if ((dialog = SipDialogStateItemPtr::dynamicCast((*item))))
             {

commit 14ca1270f07e4bd0ce0debd064cd5a4c9c8a0372
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Wed Jun 15 16:55:31 2011 -0500

    Provide 'astscf' prefix for linking to ice-util-cpp library.

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ec76c63..2412342 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -5,7 +5,7 @@ if(OPENSSL_FOUND)
 endif()
 
 include_directories(${logger_dir}/include)
-include_directories(${ice-util-cpp_dir}/include)
+include_directories(${astscf-ice-util-cpp_dir}/include)
 
 astscf_component_init(SipSessionManager)
 astscf_component_add_files(SipSessionManager SipSessionManagerApp.cpp)
@@ -40,7 +40,7 @@ astscf_component_add_ice_libraries(SipSessionManager IceStorm)
 astscf_component_add_boost_libraries(SipSessionManager core)
 astscf_component_add_slice_collection_libraries(SipSessionManager ASTSCF)
 astscf_component_build_icebox(SipSessionManager)
-target_link_libraries(SipSessionManager logging-client ice-util-cpp ${OPENSSL_LIBRARIES})
+target_link_libraries(SipSessionManager logging-client astscf-ice-util-cpp ${OPENSSL_LIBRARIES})
 pjproject_link(SipSessionManager pjsip)
 pjproject_link(SipSessionManager pjmedia)
 pjproject_link(SipSessionManager pjlib-util)
@@ -57,5 +57,5 @@ astscf_component_add_ice_libraries(SipStateReplicator IceStorm)
 astscf_component_add_boost_libraries(SipStateReplicator thread date_time)
 astscf_component_add_slice_collection_libraries(SipStateReplicator ASTSCF)
 astscf_component_build_icebox(SipStateReplicator)
-target_link_libraries(SipStateReplicator logging-client ice-util-cpp)
+target_link_libraries(SipStateReplicator logging-client astscf-ice-util-cpp)
 astscf_component_install(SipStateReplicator)

commit 8e234734142c206ccdf66647e05567b10d5cfd72
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Wed Jun 15 16:40:16 2011 -0500

    Install component-specific Slice files.
    
    Use astscf_slice_collection_install() to install the Slice files provided
    by each component, that define its interfaces. As part of this change, many
    of these Slice files were renamed and moved into different namespaces, to
    provide consistency.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4718145..dfcf17b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,3 +4,4 @@ add_subdirectory(src)
 if(BUILD_TESTING)
   add_subdirectory(test)
 endif()
+astscf_slice_collection_install(PROJECT)
diff --git a/slice/SipConfigurationIf.ice b/slice/AsteriskSCF/Configuration/SipSessionManager/SipConfigurationIf.ice
similarity index 98%
rename from slice/SipConfigurationIf.ice
rename to slice/AsteriskSCF/Configuration/SipSessionManager/SipConfigurationIf.ice
index ddfe65d..849992d 100644
--- a/slice/SipConfigurationIf.ice
+++ b/slice/AsteriskSCF/Configuration/SipSessionManager/SipConfigurationIf.ice
@@ -22,8 +22,13 @@
 
 module AsteriskSCF
 {
-module SIP
+
+module Configuration
+{
+
+module SipSessionManager
 {
+
 ["suppress"]
 module V1
 {
@@ -401,6 +406,8 @@ module V1
 
 }; /* module V1 */
 
-}; /* module SIP */
+}; /* module SipSessionManager */
+
+}; /* module Replication */
 
-}; /* module Asterisk SCF */
+}; /* module AsteriskSCF */
diff --git a/slice/SipStateReplicationIf.ice b/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
similarity index 96%
rename from slice/SipStateReplicationIf.ice
rename to slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
index aae6991..733deef 100644
--- a/slice/SipStateReplicationIf.ice
+++ b/slice/AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice
@@ -24,8 +24,13 @@
 
 module AsteriskSCF
 {
-module SIP
+
+module Replication
+{
+
+module SipSessionManager
 {
+
 ["suppress"]
 module V1
 {
@@ -154,6 +159,10 @@ module V1
       AsteriskSCF::SessionCommunications::V1::Bridge *mBridge;
    };
 
-}; //module V1
-}; //module SIP
-}; //module Asterisk SCF
+}; /* module V1 */
+
+}; /* module SipSessionManager */
+
+}; /* module Replication */
+
+}; /* module AsteriskSCF */
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1112098..ec76c63 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -34,8 +34,8 @@ astscf_component_add_files(SipSessionManager SipConfiguration.h)
 astscf_component_add_files(SipSessionManager SipStateReplicatorListener.cpp)
 astscf_component_add_files(SipSessionManager SipStateReplicator.h)
 astscf_component_add_slices(SipSessionManager PROJECT SipIf.ice)
-astscf_component_add_slices(SipSessionManager PROJECT SipStateReplicationIf.ice)
-astscf_component_add_slices(SipSessionManager PROJECT SipConfigurationIf.ice)
+astscf_component_add_slices(SipSessionManager PROJECT AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice)
+astscf_component_add_slices(SipSessionManager PROJECT AsteriskSCF/Configuration/SipSessionManager/SipConfigurationIf.ice)
 astscf_component_add_ice_libraries(SipSessionManager IceStorm)
 astscf_component_add_boost_libraries(SipSessionManager core)
 astscf_component_add_slice_collection_libraries(SipSessionManager ASTSCF)
@@ -50,9 +50,9 @@ astscf_component_install(SipSessionManager)
 astscf_component_init(SipStateReplicator)
 astscf_component_add_files(SipStateReplicator SipStateReplicatorApp.cpp)
 astscf_component_add_files(SipStateReplicator SipStateReplicator.h)
-astscf_component_add_slices(SipStateReplicator PROJECT SipStateReplicationIf.ice)
 astscf_component_add_slices(SipStateReplicator PROJECT SipIf.ice)
-astscf_component_add_slices(SipStateReplicator PROJECT SipConfigurationIf.ice)
+astscf_component_add_slices(SipStateReplicator PROJECT AsteriskSCF/Replication/SipSessionManager/SipStateReplicationIf.ice)
+astscf_component_add_slices(SipStateReplicator PROJECT AsteriskSCF/Configuration/SipSessionManager/SipConfigurationIf.ice)
 astscf_component_add_ice_libraries(SipStateReplicator IceStorm)
 astscf_component_add_boost_libraries(SipStateReplicator thread date_time)
 astscf_component_add_slice_collection_libraries(SipStateReplicator ASTSCF)
diff --git a/src/PJSipManager.cpp b/src/PJSipManager.cpp
index ffd2854..928d47a 100644
--- a/src/PJSipManager.cpp
+++ b/src/PJSipManager.cpp
@@ -80,7 +80,7 @@ void PJSipManager::registerSessionModule(const boost::shared_ptr<SipEndpointFact
         const AsteriskSCF::Discovery::SmartProxy<
             AsteriskSCF::SessionCommunications::V1::SessionRouterPrx>& sessionRouter,
         const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-        const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SIP::V1::SipStateReplicatorPrx>& stateReplicator,
+        const AsteriskSCF::Discovery::SmartProxy<SipStateReplicatorPrx>& stateReplicator,
         const AsteriskSCF::System::Component::V1::ReplicaPtr& replica
     )
 {
diff --git a/src/PJSipManager.h b/src/PJSipManager.h
index 9138770..d82829e 100644
--- a/src/PJSipManager.h
+++ b/src/PJSipManager.h
@@ -73,7 +73,7 @@ public:
         const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SessionCommunications::V1::SessionRouterPrx>&
             sessionRouter,
         const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-        const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SIP::V1::SipStateReplicatorPrx>& stateReplicator,
+        const AsteriskSCF::Discovery::SmartProxy<SipStateReplicatorPrx>& stateReplicator,
         const AsteriskSCF::System::Component::V1::ReplicaPtr& replica
         );
 
diff --git a/src/PJSipModule.h b/src/PJSipModule.h
index 451a02a..354f5ba 100644
--- a/src/PJSipModule.h
+++ b/src/PJSipModule.h
@@ -30,7 +30,7 @@ namespace AsteriskSCF
 namespace SipSessionManager
 {
 
-using namespace AsteriskSCF::SIP::V1;
+using namespace AsteriskSCF::Replication::SipSessionManager::V1;
 
 class PJSipModule : public IceUtil::Shared
 {
diff --git a/src/PJSipSessionModule.cpp b/src/PJSipSessionModule.cpp
index 74fe6f3..b2aec9b 100644
--- a/src/PJSipSessionModule.cpp
+++ b/src/PJSipSessionModule.cpp
@@ -53,7 +53,7 @@ using namespace AsteriskSCF::Core::Routing::V1;
 using namespace AsteriskSCF::Core::Endpoint::V1;
 using namespace AsteriskSCF::SessionCommunications::V1;
 using namespace AsteriskSCF::Media::V1;
-using namespace AsteriskSCF::SIP::V1;
+using namespace AsteriskSCF::Replication::SipSessionManager::V1;
 using namespace AsteriskSCF::System::ThreadPool::V1;
 using namespace AsteriskSCF::System::WorkQueue::V1;
 using namespace AsteriskSCF::WorkQueue;
@@ -265,8 +265,7 @@ void PJSipSessionModule::replicateState(PJSipDialogModInfo *dlgInfo, PJSipTransa
                 lg(Error) << "No endpoint for oneway invocation of setState() for state replication.";
             }
 
-            AsteriskSCF::SIP::V1::SipStateReplicatorPrx oneWayStateReplicator = 
-                AsteriskSCF::SIP::V1::SipStateReplicatorPrx::uncheckedCast(oneway);
+            SipStateReplicatorPrx oneWayStateReplicator = SipStateReplicatorPrx::uncheckedCast(oneway);
 
             try
             {
@@ -290,8 +289,7 @@ void PJSipSessionModule::replicateState(PJSipDialogModInfo *dlgInfo, PJSipTransa
                 lg(Error) << "No endpoint for oneway invocation of removeState() for state replication.";
             }
 
-            AsteriskSCF::SIP::V1::SipStateReplicatorPrx oneWayStateReplicator =
-                AsteriskSCF::SIP::V1::SipStateReplicatorPrx::uncheckedCast(oneway);
+            SipStateReplicatorPrx oneWayStateReplicator = SipStateReplicatorPrx::uncheckedCast(oneway);
 
             try
             {
diff --git a/src/PJSipSessionModule.h b/src/PJSipSessionModule.h
index 73fd186..73f5f60 100644
--- a/src/PJSipSessionModule.h
+++ b/src/PJSipSessionModule.h
@@ -89,7 +89,7 @@ public:
         const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SessionCommunications::V1::SessionRouterPrx>&
             sessionRouter,
         const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-        const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SIP::V1::SipStateReplicatorPrx>& stateReplicator,
+        const AsteriskSCF::Discovery::SmartProxy<SipStateReplicatorPrx>& stateReplicator,
         const AsteriskSCF::System::Component::V1::ReplicaPtr& replica);
     pj_status_t load(pjsip_endpoint *endpoint);
     pj_status_t start();
@@ -126,7 +126,7 @@ private:
     boost::shared_ptr<SipEndpointFactory> mEndpointFactory;
     AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SessionCommunications::V1::SessionRouterPrx> mSessionRouter;
     AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx mServiceLocator;
-    AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SIP::V1::SipStateReplicatorPrx> mStateReplicator;
+    AsteriskSCF::Discovery::SmartProxy<SipStateReplicatorPrx> mStateReplicator;
     AsteriskSCF::System::Component::V1::ReplicaPtr mReplica;
     pjsip_endpoint *mEndpoint;
     AsteriskSCF::System::ThreadPool::V1::PoolPtr mPool;
diff --git a/src/PJSipSessionModuleConstruction.cpp b/src/PJSipSessionModuleConstruction.cpp
index 14e0718..02cf53c 100644
--- a/src/PJSipSessionModuleConstruction.cpp
+++ b/src/PJSipSessionModuleConstruction.cpp
@@ -101,7 +101,7 @@ PJSipSessionModule::PJSipSessionModule(pjsip_endpoint *endpt,
     const boost::shared_ptr<SipEndpointFactory>& endpointFactoryPtr,
     const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SessionCommunications::V1::SessionRouterPrx>& sessionRouter,
     const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-    const AsteriskSCF::Discovery::SmartProxy<AsteriskSCF::SIP::V1::SipStateReplicatorPrx>& stateReplicator,
+    const AsteriskSCF::Discovery::SmartProxy<SipStateReplicatorPrx>& stateReplicator,
     const AsteriskSCF::System::Component::V1::ReplicaPtr& replica)
     : mName(moduleName), mEndpointFactory(endpointFactoryPtr),
       mSessionRouter(sessionRouter), mServiceLocator(serviceLocator),
diff --git a/src/SipConfiguration.cpp b/src/SipConfiguration.cpp
index f65f05d..a9ed619 100644
--- a/src/SipConfiguration.cpp
+++ b/src/SipConfiguration.cpp
@@ -32,8 +32,8 @@
 #include "SipConfiguration.h"
 #include <vector>
 
-using namespace AsteriskSCF::SIP::V1;
 using namespace AsteriskSCF::System::Configuration::V1;
+using namespace AsteriskSCF::Configuration::SipSessionManager::V1;
 using namespace AsteriskSCF::Core::Routing::V1;
 using namespace std;
 
@@ -562,7 +562,7 @@ class TLSTransportConfig : public ConfigBase, public boost::enable_shared_from_t
             mUpdates.push_back(boost::bind(&TLSTransportConfig::updateRequirements, mConfig, requirementsItem));
         }
         
-        void visitSipCryptoItem(const ::AsteriskSCF::SIP::V1::SipCryptoItemPtr& cryptoItem)
+        void visitSipCryptoItem(const SipCryptoItemPtr& cryptoItem)
         {
             mUpdates.push_back(boost::bind(&TLSTransportConfig::updateCrypto, mConfig, cryptoItem));
         }
@@ -1217,32 +1217,32 @@ ConfigurationGroupSeq ConfigurationServiceImpl::getConfiguration(
 	    }
 	}
 
-	void visitSipGeneralGroup(const ::AsteriskSCF::SIP::V1::SipGeneralGroupPtr& group)
+	void visitSipGeneralGroup(const SipGeneralGroupPtr& group)
 	{
             getGeneric<SipGeneralGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 
-	void visitSipDomainGroup(const ::AsteriskSCF::SIP::V1::SipDomainGroupPtr& group)
+	void visitSipDomainGroup(const SipDomainGroupPtr& group)
 	{
             getGeneric<SipDomainGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 
-	void visitSipUDPTransportGroup(const ::AsteriskSCF::SIP::V1::SipUDPTransportGroupPtr& group)
+	void visitSipUDPTransportGroup(const SipUDPTransportGroupPtr& group)
 	{
             getGeneric<SipUDPTransportGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipTCPTransportGroup(const ::AsteriskSCF::SIP::V1::SipTCPTransportGroupPtr& group)
+	void visitSipTCPTransportGroup(const SipTCPTransportGroupPtr& group)
 	{
             getGeneric<SipTCPTransportGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipTLSTransportGroup(const ::AsteriskSCF::SIP::V1::SipTLSTransportGroupPtr& group)
+	void visitSipTLSTransportGroup(const SipTLSTransportGroupPtr& group)
 	{
             getGeneric<SipTLSTransportGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipEndpointGroup(const ::AsteriskSCF::SIP::V1::SipEndpointGroupPtr& group)
+	void visitSipEndpointGroup(const SipEndpointGroupPtr& group)
 	{
             getGeneric<SipEndpointGroupPtr>(mImpl->getData(), group, mGroups);
 	};
@@ -1285,32 +1285,32 @@ ConfigurationGroupSeq ConfigurationServiceImpl::getConfigurationAll(
         };
 	
     private:
-	void visitSipGeneralGroup(const ::AsteriskSCF::SIP::V1::SipGeneralGroupPtr& group)
+	void visitSipGeneralGroup(const SipGeneralGroupPtr& group)
 	{
             genericGetAll<SipGeneralGroupPtr>(mImpl->getData(), group, mGroups);
         }
 
-	void visitSipDomainGroup(const ::AsteriskSCF::SIP::V1::SipDomainGroupPtr& group)
+	void visitSipDomainGroup(const SipDomainGroupPtr& group)
 	{
             genericGetAll<SipDomainGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipUDPTransportGroup(const ::AsteriskSCF::SIP::V1::SipUDPTransportGroupPtr& group)
+	void visitSipUDPTransportGroup(const SipUDPTransportGroupPtr& group)
 	{
             genericGetAll<SipUDPTransportGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipTCPTransportGroup(const ::AsteriskSCF::SIP::V1::SipTCPTransportGroupPtr& group)
+	void visitSipTCPTransportGroup(const SipTCPTransportGroupPtr& group)
 	{
             genericGetAll<SipTCPTransportGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipTLSTransportGroup(const ::AsteriskSCF::SIP::V1::SipTLSTransportGroupPtr& group)
+	void visitSipTLSTransportGroup(const SipTLSTransportGroupPtr& group)
 	{
             genericGetAll<SipTLSTransportGroupPtr>(mImpl->getData(), group, mGroups);
 	};
 	
-	void visitSipEndpointGroup(const ::AsteriskSCF::SIP::V1::SipEndpointGroupPtr& group)
+	void visitSipEndpointGroup(const SipEndpointGroupPtr& group)
 	{
             genericGetAll<SipEndpointGroupPtr>(mImpl->getData(), group, mGroups);
 	};
@@ -1366,32 +1366,32 @@ void ConfigurationServiceImpl::setConfiguration(const AsteriskSCF::System::Confi
 	
     private:
         
-	void visitSipGeneralGroup(const ::AsteriskSCF::SIP::V1::SipGeneralGroupPtr& group)
+	void visitSipGeneralGroup(const SipGeneralGroupPtr& group)
 	{
             genericSet<SipGeneralGroupPtr>(mImpl->getData(), group);
 	}
 	
-	void visitSipDomainGroup(const ::AsteriskSCF::SIP::V1::SipDomainGroupPtr& group)
+	void visitSipDomainGroup(const SipDomainGroupPtr& group)
 	{
             genericSet<SipDomainGroupPtr>(mImpl->getData(), group);
 	};
 	
-	void visitSipUDPTransportGroup(const ::AsteriskSCF::SIP::V1::SipUDPTransportGroupPtr& group)
+	void visitSipUDPTransportGroup(const SipUDPTransportGroupPtr& group)
 	{
             genericSet<SipUDPTransportGroupPtr>(mImpl->getData(), group);
 	};
 	
-	void visitSipTCPTransportGroup(const ::AsteriskSCF::SIP::V1::SipTCPTransportGroupPtr& group)
+	void visitSipTCPTransportGroup(const SipTCPTransportGroupPtr& group)
 	{
             genericSet<SipTCPTransportGroupPtr>(mImpl->getData(), group);
 	};
 	
-	void visitSipTLSTransportGroup(const ::AsteriskSCF::SIP::V1::SipTLSTransportGroupPtr& group)
+	void visitSipTLSTransportGroup(const SipTLSTransportGroupPtr& group)
 	{
             genericSet<SipTLSTransportGroupPtr>(mImpl->getData(), group);
 	};
 
-        void visitSipEndpointGroup(const ::AsteriskSCF::SIP::V1::SipEndpointGroupPtr& group)
+        void visitSipEndpointGroup(const SipEndpointGroupPtr& group)
         {
             genericSet<SipEndpointGroupPtr>(mImpl->getData(), group);
         };
@@ -1418,32 +1418,32 @@ void ConfigurationServiceImpl::removeConfigurationItems(
         { 
         };
 	
-	void visitSipGeneralGroup(const ::AsteriskSCF::SIP::V1::SipGeneralGroupPtr& group)
+	void visitSipGeneralGroup(const SipGeneralGroupPtr& group)
 	{
             mImpl->getData()->removeFromGroup(group);
 	};
 	
-	void visitSipDomainGroup(const ::AsteriskSCF::SIP::V1::SipDomainGroupPtr& group)
+	void visitSipDomainGroup(const SipDomainGroupPtr& group)
 	{
             mImpl->getData()->removeFromGroup(group);
 	};
 	
-	void visitSipUDPTransportGroup(const ::AsteriskSCF::SIP::V1::SipUDPTransportGroupPtr& group)
+	void visitSipUDPTransportGroup(const SipUDPTransportGroupPtr& group)
 	{
             mImpl->getData()->removeFromGroup(group);
 	};
 	
-	void visitSipTCPTransportGroup(const ::AsteriskSCF::SIP::V1::SipTCPTransportGroupPtr& group)
+	void visitSipTCPTransportGroup(const SipTCPTransportGroupPtr& group)
 	{
             mImpl->getData()->removeFromGroup(group);
 	};
 	
-	void visitSipTLSTransportGroup(const ::AsteriskSCF::SIP::V1::SipTLSTransportGroupPtr& group)
+	void visitSipTLSTransportGroup(const SipTLSTransportGroupPtr& group)
 	{
             mImpl->getData()->removeFromGroup(group);
 	};
 
-        void visitSipEndpointGroup(const ::AsteriskSCF::SIP::V1::SipEndpointGroupPtr& group)
+        void visitSipEndpointGroup(const SipEndpointGroupPtr& group)
         {
             mImpl->getData()->removeFromGroup(group);
         };
@@ -1468,32 +1468,32 @@ void ConfigurationServiceImpl::removeConfigurationGroups(
 	Visitor(const ConfigurationServiceImplPtr& impl) : mImpl(impl) { };
 	
     private:
-	void visitSipGeneralGroup(const ::AsteriskSCF::SIP::V1::SipGeneralGroupPtr& group)
+	void visitSipGeneralGroup(const SipGeneralGroupPtr& group)
 	{
             mImpl->getData()->remove(group);
 	};
 	
-	void visitSipDomainGroup(const ::AsteriskSCF::SIP::V1::SipDomainGroupPtr& group)
+	void visitSipDomainGroup(const SipDomainGroupPtr& group)
 	{
             mImpl->getData()->remove(group);
 	};
 	
-	void visitSipUDPTransportGroup(const ::AsteriskSCF::SIP::V1::SipUDPTransportGroupPtr& group)
+	void visitSipUDPTransportGroup(const SipUDPTransportGroupPtr& group)
 	{
             mImpl->getData()->remove(group);
 	};
 	
-	void visitSipTCPTransportGroup(const ::AsteriskSCF::SIP::V1::SipTCPTransportGroupPtr& group)
+	void visitSipTCPTransportGroup(const SipTCPTransportGroupPtr& group)
 	{
             mImpl->getData()->remove(group);
 	};
 	
-	void visitSipTLSTransportGroup(const ::AsteriskSCF::SIP::V1::SipTLSTransportGroupPtr& group)
+	void visitSipTLSTransportGroup(const SipTLSTransportGroupPtr& group)
 	{
             mImpl->getData()->remove(group);
 	};
 
-        void visitSipEndpointGroup(const ::AsteriskSCF::SIP::V1::SipEndpointGroupPtr& group)
+        void visitSipEndpointGroup(const SipEndpointGroupPtr& group)
         {
             mImpl->getData()->remove(group);
         };
diff --git a/src/SipSession.cpp b/src/SipSession.cpp
index 63df653..979358a 100644
--- a/src/SipSession.cpp
+++ b/src/SipSession.cpp
@@ -1107,7 +1107,7 @@ AsteriskSCF::Media::V1::SessionPrx& SipSession::getMediaSessionProxy()
 /**
  * Internal function which sets the listeners explicitly.
  */
-void SipSession::setListeners(const AsteriskSCF::SIP::V1::SessionListenerSeq& listeners)
+void SipSession::setListeners(const SessionListenerSeq& listeners)
 {
     mImplPriv->mListeners = listeners;
 }
diff --git a/src/SipSession.h b/src/SipSession.h
index 2a60c76..f603fb5 100644
--- a/src/SipSession.h
+++ b/src/SipSession.h
@@ -194,7 +194,7 @@ public:
 
     AsteriskSCF::Media::V1::SessionPrx& getMediaSessionProxy();
 
-    void setListeners(const AsteriskSCF::SIP::V1::SessionListenerSeq&);
+    void setListeners(const AsteriskSCF::Replication::SipSessionManager::V1::SessionListenerSeq&);
 
     AsteriskSCF::Media::V1::SessionPrx getHiddenMediaSession();
 
diff --git a/src/SipSessionManagerApp.cpp b/src/SipSessionManagerApp.cpp
index 0287866..1d89753 100644
--- a/src/SipSessionManagerApp.cpp
+++ b/src/SipSessionManagerApp.cpp
@@ -47,6 +47,7 @@
 
 using namespace std;
 using namespace AsteriskSCF::SipSessionManager;
+using namespace AsteriskSCF::Configuration::SipSessionManager::V1;
 using namespace AsteriskSCF::Core;
 using namespace AsteriskSCF::Core::Routing::V1;
 using namespace AsteriskSCF::Core::Discovery::V1;
@@ -378,8 +379,8 @@ void SipSessionManager::locateStateReplicator()
         mServiceLocator = ServiceLocatorPrx::checkedCast(mCommunicator->propertyToProxy("LocatorService.Proxy"));
     }
 
-    SIP::V1::SipStateReplicatorParamsPtr replicatorParams = new SIP::V1::SipStateReplicatorParams();
-    replicatorParams->category = SIP::V1::StateReplicatorDiscoveryCategory;
+    SipStateReplicatorParamsPtr replicatorParams = new SipStateReplicatorParams();
+    replicatorParams->category = StateReplicatorDiscoveryCategory;
     replicatorParams->mName =
         mCommunicator->getProperties()->getPropertyWithDefault("Sip.StateReplicatorName", "default");
 
diff --git a/src/SipStateReplicator.h b/src/SipStateReplicator.h
index 02fde05..135daed 100644
--- a/src/SipStateReplicator.h
+++ b/src/SipStateReplicator.h
@@ -29,9 +29,9 @@ namespace SipSessionManager
 {
 
 typedef AsteriskSCF::Replication::StateReplicator<
-    AsteriskSCF::SIP::V1::SipStateReplicator, 
-    AsteriskSCF::SIP::V1::SipStateItemPtr, std::string,
-    AsteriskSCF::SIP::V1::SipStateReplicatorListenerPrx> SipStateReplicatorI;
+    AsteriskSCF::Replication::SipSessionManager::V1::SipStateReplicator, 
+    AsteriskSCF::Replication::SipSessionManager::V1::SipStateItemPtr, std::string,
+    AsteriskSCF::Replication::SipSessionManager::V1::SipStateReplicatorListenerPrx> SipStateReplicatorI;
 typedef IceUtil::Handle<SipStateReplicatorI> SipStateReplicatorIPtr;
 
 //
@@ -39,12 +39,12 @@ typedef IceUtil::Handle<SipStateReplicatorI> SipStateReplicatorIPtr;
 //
 struct SipStateReplicatorListenerImpl; 
 
-class SipStateReplicatorListenerI : public AsteriskSCF::SIP::V1::SipStateReplicatorListener
+class SipStateReplicatorListenerI : public AsteriskSCF::Replication::SipSessionManager::V1::SipStateReplicatorListener
 {
 public:
     SipStateReplicatorListenerI(const boost::shared_ptr<SipEndpointFactory>& factory, PJSipManager *manager);
     void stateRemoved(const Ice::StringSeq&, const Ice::Current&);
-    void stateSet(const AsteriskSCF::SIP::V1::SipStateItemSeq&, const Ice::Current&);
+    void stateSet(const AsteriskSCF::Replication::SipSessionManager::V1::SipStateItemSeq&, const Ice::Current&);
     bool operator==(const SipStateReplicatorListenerI &rhs);
 private:
     boost::shared_ptr<SipStateReplicatorListenerImpl> mImpl;
diff --git a/src/SipStateReplicatorApp.cpp b/src/SipStateReplicatorApp.cpp
index 71f3009..cb07b31 100644
--- a/src/SipStateReplicatorApp.cpp
+++ b/src/SipStateReplicatorApp.cpp
@@ -35,7 +35,8 @@
 using namespace std;
 using namespace AsteriskSCF::Core;
 using namespace AsteriskSCF::Core::Discovery::V1;
-using namespace AsteriskSCF::SIP::V1;
+using namespace AsteriskSCF::Replication::SipSessionManager::V1;
+using namespace AsteriskSCF::Configuration::SipSessionManager::V1;
 using namespace AsteriskSCF::System::Component::V1;
 using namespace AsteriskSCF::System::Logging;
 using namespace AsteriskSCF::SipSessionManager;
@@ -203,25 +204,25 @@ void SipStateReplicatorService::registerWithServiceLocator(const Ice::Communicat
         ComponentServicePrx componentServicePrx = ComponentServicePrx::checkedCast(componentServiceObjectPrx);
 
         // The GUID passed in to add service needs to be unique for reporting.
-        string componentServiceGuid(AsteriskSCF::SIP::V1::StateReplicatorComponentCategory);
+        string componentServiceGuid(StateReplicatorComponentCategory);
         mComponentServiceManagement = ServiceManagementPrx::uncheckedCast(
             mServiceLocatorManagement->addService(componentServicePrx, componentServiceGuid));
 
         // Add category as a parameter to enable other components look this component up.
         ServiceLocatorParamsPtr genericparams = new ServiceLocatorParams();
-        genericparams->category = AsteriskSCF::SIP::V1::StateReplicatorComponentCategory;
+        genericparams->category = StateReplicatorComponentCategory;
 
         mComponentServiceManagement->addLocatorParams(genericparams, "");
 
         Ice::ObjectPrx stateReplicatorObjectPrx = mAdapter->createDirectProxy(ic->stringToIdentity(ServiceDiscoveryId));
         SipStateReplicatorPrx stateReplicatorPrx = SipStateReplicatorPrx::checkedCast(stateReplicatorObjectPrx);
 
-        string stateReplicationGuid(AsteriskSCF::SIP::V1::StateReplicatorDiscoveryCategory);
+        string stateReplicationGuid(StateReplicatorDiscoveryCategory);
         mStateReplicationManagement = ServiceManagementPrx::uncheckedCast(
             mServiceLocatorManagement->addService(stateReplicatorPrx, stateReplicationGuid));
 
         ServiceLocatorParamsPtr discoveryParams = new ServiceLocatorParams();
-        discoveryParams->category = AsteriskSCF::SIP::V1::StateReplicatorDiscoveryCategory;
+        discoveryParams->category = StateReplicatorDiscoveryCategory;
 
         string replicatorName = ic->getProperties()->getPropertyWithDefault("SipStateReplicator.Name", "default");
         SipStateReplicatorCompare* nameCompare = new SipStateReplicatorCompare(replicatorName);
diff --git a/src/SipStateReplicatorListener.cpp b/src/SipStateReplicatorListener.cpp
index 7774efe..b04abc3 100644
--- a/src/SipStateReplicatorListener.cpp
+++ b/src/SipStateReplicatorListener.cpp
@@ -30,7 +30,7 @@ namespace AsteriskSCF
 namespace SipSessionManager
 {
 
-using namespace AsteriskSCF::SIP::V1;
+using namespace AsteriskSCF::Replication::SipSessionManager::V1;
 
 class SipStateReplicatorItem
 {

commit a04d0359ca706f2a8ce2a3b21464c9ba6e062785
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Jun 14 17:24:31 2011 -0500

    Use Slice collections support in AsteriskSCF.cmake.

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1d07853..1112098 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -6,7 +6,6 @@ endif()
 
 include_directories(${logger_dir}/include)
 include_directories(${ice-util-cpp_dir}/include)
-include_directories(${API_INCLUDE_DIR})
 
 astscf_component_init(SipSessionManager)
 astscf_component_add_files(SipSessionManager SipSessionManagerApp.cpp)
@@ -39,6 +38,7 @@ astscf_component_add_slices(SipSessionManager PROJECT SipStateReplicationIf.ice)
 astscf_component_add_slices(SipSessionManager PROJECT SipConfigurationIf.ice)
 astscf_component_add_ice_libraries(SipSessionManager IceStorm)
 astscf_component_add_boost_libraries(SipSessionManager core)
+astscf_component_add_slice_collection_libraries(SipSessionManager ASTSCF)
 astscf_component_build_icebox(SipSessionManager)
 target_link_libraries(SipSessionManager logging-client ice-util-cpp ${OPENSSL_LIBRARIES})
 pjproject_link(SipSessionManager pjsip)
@@ -55,6 +55,7 @@ astscf_component_add_slices(SipStateReplicator PROJECT SipIf.ice)
 astscf_component_add_slices(SipStateReplicator PROJECT SipConfigurationIf.ice)
 astscf_component_add_ice_libraries(SipStateReplicator IceStorm)
 astscf_component_add_boost_libraries(SipStateReplicator thread date_time)
+astscf_component_add_slice_collection_libraries(SipStateReplicator ASTSCF)
 astscf_component_build_icebox(SipStateReplicator)
-target_link_libraries(SipStateReplicator logging-client astscf-api ice-util-cpp)
+target_link_libraries(SipStateReplicator logging-client ice-util-cpp)
 astscf_component_install(SipStateReplicator)

commit 289eae68054b0f290bdab7f0e14660493548dadf
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Jun 6 18:50:26 2011 -0500

    Slice collections, and consistency of naming in various places.
    
    * Support Slice file 'collections'.
    
    * Make all Slice directories in repositories be called 'slice' and at the
      top level in the repository, so the automatic 'PROJECT' collection will
      be generated for them.
    
    * Build ice-util-cpp and util-cpp as single libraries.
    
    * Enable building and execution of ice-util-cpp top-level unit tests.
    
    Conflicts:
    
    	cmake/example/CMakeLists.txt

diff --git a/local-slice/SipConfigurationIf.ice b/slice/SipConfigurationIf.ice
similarity index 100%
rename from local-slice/SipConfigurationIf.ice
rename to slice/SipConfigurationIf.ice
diff --git a/local-slice/SipIf.ice b/slice/SipIf.ice
similarity index 100%
rename from local-slice/SipIf.ice
rename to slice/SipIf.ice
diff --git a/local-slice/SipStateReplicationIf.ice b/slice/SipStateReplicationIf.ice
similarity index 100%
rename from local-slice/SipStateReplicationIf.ice
rename to slice/SipStateReplicationIf.ice
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f3e73a6..1d07853 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -8,37 +8,35 @@ include_directories(${logger_dir}/include)
 include_directories(${ice-util-cpp_dir}/include)
 include_directories(${API_INCLUDE_DIR})
 
-astscf_slice_include_directories(${API_SLICE_DIR})
-
 astscf_component_init(SipSessionManager)
-astscf_component_add_file(SipSessionManager SipSessionManagerApp.cpp)
-astscf_component_add_file(SipSessionManager SipSessionManagerEventPublisher.cpp)
-astscf_component_add_file(SipSessionManager SipSessionManagerEventPublisher.h)
-astscf_component_add_file(SipSessionManager SipSessionManagerEndpointLocator.cpp)
-astscf_component_add_file(SipSessionManager SipSessionManagerEndpointLocator.h)
-astscf_component_add_file(SipSessionManager SipEndpointFactory.cpp)
-astscf_component_add_file(SipSessionManager SipEndpointFactory.h)
-astscf_component_add_file(SipSessionManager SipEndpoint.cpp)
-astscf_component_add_file(SipSessionManager SipEndpoint.h)
-astscf_component_add_file(SipSessionManager SipSession.cpp)
-astscf_component_add_file(SipSessionManager SipSession.h)
-astscf_component_add_file(SipSessionManager PJSipManager.cpp)
-astscf_component_add_file(SipSessionManager PJSipManager.h)
-astscf_component_add_file(SipSessionManager PJSipModule.cpp)
-astscf_component_add_file(SipSessionManager PJSipModule.h)
-astscf_component_add_file(SipSessionManager PJSipSessionModule.cpp)
-astscf_component_add_file(SipSessionManager PJSipSessionModuleConstruction.cpp)
-astscf_component_add_file(SipSessionManager PJSipSessionModule.h)
-astscf_component_add_file(SipSessionManager PJSipLoggingModule.cpp)
-astscf_component_add_file(SipSessionManager PJSipLoggingModuleConstruction.cpp)
-astscf_component_add_file(SipSessionManager PJSipLoggingModule.h)
-astscf_component_add_file(SipSessionManager SipConfiguration.cpp)
-astscf_component_add_file(SipSessionManager SipConfiguration.h)
-astscf_component_add_file(SipSessionManager SipStateReplicatorListener.cpp)
-astscf_component_add_file(SipSessionManager SipStateReplicator.h)
-astscf_component_add_slice(SipSessionManager ../local-slice/SipIf.ice)
-astscf_component_add_slice(SipSessionManager ../local-slice/SipStateReplicationIf.ice)
-astscf_component_add_slice(SipSessionManager ../local-slice/SipConfigurationIf.ice)
+astscf_component_add_files(SipSessionManager SipSessionManagerApp.cpp)
+astscf_component_add_files(SipSessionManager SipSessionManagerEventPublisher.cpp)
+astscf_component_add_files(SipSessionManager SipSessionManagerEventPublisher.h)
+astscf_component_add_files(SipSessionManager SipSessionManagerEndpointLocator.cpp)
+astscf_component_add_files(SipSessionManager SipSessionManagerEndpointLocator.h)
+astscf_component_add_files(SipSessionManager SipEndpointFactory.cpp)
+astscf_component_add_files(SipSessionManager SipEndpointFactory.h)
+astscf_component_add_files(SipSessionManager SipEndpoint.cpp)
+astscf_component_add_files(SipSessionManager SipEndpoint.h)
+astscf_component_add_files(SipSessionManager SipSession.cpp)
+astscf_component_add_files(SipSessionManager SipSession.h)
+astscf_component_add_files(SipSessionManager PJSipManager.cpp)
+astscf_component_add_files(SipSessionManager PJSipManager.h)
+astscf_component_add_files(SipSessionManager PJSipModule.cpp)
+astscf_component_add_files(SipSessionManager PJSipModule.h)
+astscf_component_add_files(SipSessionManager PJSipSessionModule.cpp)
+astscf_component_add_files(SipSessionManager PJSipSessionModuleConstruction.cpp)
+astscf_component_add_files(SipSessionManager PJSipSessionModule.h)
+astscf_component_add_files(SipSessionManager PJSipLoggingModule.cpp)
+astscf_component_add_files(SipSessionManager PJSipLoggingModuleConstruction.cpp)
+astscf_component_add_files(SipSessionManager PJSipLoggingModule.h)
+astscf_component_add_files(SipSessionManager SipConfiguration.cpp)
+astscf_component_add_files(SipSessionManager SipConfiguration.h)
+astscf_component_add_files(SipSessionManager SipStateReplicatorListener.cpp)
+astscf_component_add_files(SipSessionManager SipStateReplicator.h)
+astscf_component_add_slices(SipSessionManager PROJECT SipIf.ice)
+astscf_component_add_slices(SipSessionManager PROJECT SipStateReplicationIf.ice)
+astscf_component_add_slices(SipSessionManager PROJECT SipConfigurationIf.ice)
 astscf_component_add_ice_libraries(SipSessionManager IceStorm)
 astscf_component_add_boost_libraries(SipSessionManager core)
 astscf_component_build_icebox(SipSessionManager)
@@ -50,16 +48,13 @@ pjproject_link(SipSessionManager pjlib)
 astscf_component_install(SipSessionManager)
 
 astscf_component_init(SipStateReplicator)
-astscf_component_add_file(SipStateReplicator SipStateReplicatorApp.cpp)
-astscf_component_add_file(SipStateReplicator SipStateReplicator.h)
-astscf_component_add_slice(SipStateReplicator ../local-slice/SipStateReplicationIf.ice)
-astscf_component_add_slice(SipStateReplicator ../local-slice/SipIf.ice)
-astscf_component_add_slice(SipStateReplicator ../local-slice/SipConfigurationIf.ice)
+astscf_component_add_files(SipStateReplicator SipStateReplicatorApp.cpp)
+astscf_component_add_files(SipStateReplicator SipStateReplicator.h)
+astscf_component_add_slices(SipStateReplicator PROJECT SipStateReplicationIf.ice)
+astscf_component_add_slices(SipStateReplicator PROJECT SipIf.ice)
+astscf_component_add_slices(SipStateReplicator PROJECT SipConfigurationIf.ice)
 astscf_component_add_ice_libraries(SipStateReplicator IceStorm)
-astscf_component_add_ice_libraries(SipStateReplicator IceBox)
 astscf_component_add_boost_libraries(SipStateReplicator thread date_time)
 astscf_component_build_icebox(SipStateReplicator)
-target_link_libraries(SipStateReplicator logging-client)
-target_link_libraries(SipStateReplicator asterisk-scf-api)
-target_link_libraries(SipStateReplicator ice-util-cpp)
+target_link_libraries(SipStateReplicator logging-client astscf-api ice-util-cpp)
 astscf_component_install(SipStateReplicator)

commit 3246440509df7b0d357d507039ab408e03a7a355
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Jun 3 15:20:33 2011 -0500

    Accommodate change from ASTERISK_SCF_ICEBOX_EXPORT to ASTSCF_DLL_EXPORT.

diff --git a/src/SipSessionManagerApp.cpp b/src/SipSessionManagerApp.cpp
index 148efb0..0287866 100644
--- a/src/SipSessionManagerApp.cpp
+++ b/src/SipSessionManagerApp.cpp
@@ -637,7 +637,7 @@ void SipSessionManager::stop()
 
 extern "C"
 {
-ASTERISK_SCF_ICEBOX_EXPORT IceBox::Service* create(Ice::CommunicatorPtr)
+ASTSCF_DLL_EXPORT IceBox::Service* create(Ice::CommunicatorPtr)
 {
     return new SipSessionManager;
 }
diff --git a/src/SipStateReplicatorApp.cpp b/src/SipStateReplicatorApp.cpp
index a93b109..71f3009 100644
--- a/src/SipStateReplicatorApp.cpp
+++ b/src/SipStateReplicatorApp.cpp
@@ -351,7 +351,7 @@ void SipStateReplicatorService::stop()
 
 extern "C"
 {
-ASTERISK_SCF_ICEBOX_EXPORT IceBox::Service* create(Ice::CommunicatorPtr)
+ASTSCF_DLL_EXPORT IceBox::Service* create(Ice::CommunicatorPtr)
 {
     return new SipStateReplicatorService;
 }

commit c486b08a719eca0b3bb87bb5faa81602e4c65ab6
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Jun 2 18:02:07 2011 -0500

    Update to use 'astscf' prefix in CMake scripts instead of 'asterisk_scf'.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a531b08..4718145 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-asterisk_scf_project(SipSessionManager 3.4)
+astscf_project(SipSessionManager 3.4)
 
 add_subdirectory(src)
 if(BUILD_TESTING)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5aa8e59..f3e73a6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -8,58 +8,58 @@ include_directories(${logger_dir}/include)
 include_directories(${ice-util-cpp_dir}/include)
 include_directories(${API_INCLUDE_DIR})
 
-asterisk_scf_slice_include_directories(${API_SLICE_DIR})
+astscf_slice_include_directories(${API_SLICE_DIR})
 
-asterisk_scf_component_init(SipSessionManager)
-asterisk_scf_component_add_file(SipSessionManager SipSessionManagerApp.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipSessionManagerEventPublisher.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipSessionManagerEventPublisher.h)
-asterisk_scf_component_add_file(SipSessionManager SipSessionManagerEndpointLocator.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipSessionManagerEndpointLocator.h)
-asterisk_scf_component_add_file(SipSessionManager SipEndpointFactory.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipEndpointFactory.h)
-asterisk_scf_component_add_file(SipSessionManager SipEndpoint.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipEndpoint.h)
-asterisk_scf_component_add_file(SipSessionManager SipSession.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipSession.h)
-asterisk_scf_component_add_file(SipSessionManager PJSipManager.cpp)
-asterisk_scf_component_add_file(SipSessionManager PJSipManager.h)
-asterisk_scf_component_add_file(SipSessionManager PJSipModule.cpp)
-asterisk_scf_component_add_file(SipSessionManager PJSipModule.h)
-asterisk_scf_component_add_file(SipSessionManager PJSipSessionModule.cpp)
-asterisk_scf_component_add_file(SipSessionManager PJSipSessionModuleConstruction.cpp)
-asterisk_scf_component_add_file(SipSessionManager PJSipSessionModule.h)
-asterisk_scf_component_add_file(SipSessionManager PJSipLoggingModule.cpp)
-asterisk_scf_component_add_file(SipSessionManager PJSipLoggingModuleConstruction.cpp)
-asterisk_scf_component_add_file(SipSessionManager PJSipLoggingModule.h)
-asterisk_scf_component_add_file(SipSessionManager SipConfiguration.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipConfiguration.h)
-asterisk_scf_component_add_file(SipSessionManager SipStateReplicatorListener.cpp)
-asterisk_scf_component_add_file(SipSessionManager SipStateReplicator.h)
-asterisk_scf_component_add_slice(SipSessionManager ../local-slice/SipIf.ice)
-asterisk_scf_component_add_slice(SipSessionManager ../local-slice/SipStateReplicationIf.ice)
-asterisk_scf_component_add_slice(SipSessionManager ../local-slice/SipConfigurationIf.ice)
-asterisk_scf_component_add_ice_libraries(SipSessionManager IceStorm)
-asterisk_scf_component_add_boost_libraries(SipSessionManager core)
-asterisk_scf_component_build_icebox(SipSessionManager)
+astscf_component_init(SipSessionManager)
+astscf_component_add_file(SipSessionManager SipSessionManagerApp.cpp)
+astscf_component_add_file(SipSessionManager SipSessionManagerEventPublisher.cpp)
+astscf_component_add_file(SipSessionManager SipSessionManagerEventPublisher.h)
+astscf_component_add_file(SipSessionManager SipSessionManagerEndpointLocator.cpp)
+astscf_component_add_file(SipSessionManager SipSessionManagerEndpointLocator.h)
+astscf_component_add_file(SipSessionManager SipEndpointFactory.cpp)
+astscf_component_add_file(SipSessionManager SipEndpointFactory.h)
+astscf_component_add_file(SipSessionManager SipEndpoint.cpp)
+astscf_component_add_file(SipSessionManager SipEndpoint.h)
+astscf_component_add_file(SipSessionManager SipSession.cpp)
+astscf_component_add_file(SipSessionManager SipSession.h)
+astscf_component_add_file(SipSessionManager PJSipManager.cpp)
+astscf_component_add_file(SipSessionManager PJSipManager.h)
+astscf_component_add_file(SipSessionManager PJSipModule.cpp)
+astscf_component_add_file(SipSessionManager PJSipModule.h)
+astscf_component_add_file(SipSessionManager PJSipSessionModule.cpp)
+astscf_component_add_file(SipSessionManager PJSipSessionModuleConstruction.cpp)
+astscf_component_add_file(SipSessionManager PJSipSessionModule.h)
+astscf_component_add_file(SipSessionManager PJSipLoggingModule.cpp)
+astscf_component_add_file(SipSessionManager PJSipLoggingModuleConstruction.cpp)
+astscf_component_add_file(SipSessionManager PJSipLoggingModule.h)
+astscf_component_add_file(SipSessionManager SipConfiguration.cpp)
+astscf_component_add_file(SipSessionManager SipConfiguration.h)
+astscf_component_add_file(SipSessionManager SipStateReplicatorListener.cpp)
+astscf_component_add_file(SipSessionManager SipStateReplicator.h)
+astscf_component_add_slice(SipSessionManager ../local-slice/SipIf.ice)
+astscf_component_add_slice(SipSessionManager ../local-slice/SipStateReplicationIf.ice)
+astscf_component_add_slice(SipSessionManager ../local-slice/SipConfigurationIf.ice)
+astscf_component_add_ice_libraries(SipSessionManager IceStorm)
+astscf_component_add_boost_libraries(SipSessionManager core)
+astscf_component_build_icebox(SipSessionManager)
 target_link_libraries(SipSessionManager logging-client ice-util-cpp ${OPENSSL_LIBRARIES})
 pjproject_link(SipSessionManager pjsip)
 pjproject_link(SipSessionManager pjmedia)
 pjproject_link(SipSessionManager pjlib-util)
 pjproject_link(SipSessionManager pjlib)
-asterisk_scf_component_install(SipSessionManager)
+astscf_component_install(SipSessionManager)
 
-asterisk_scf_component_init(SipStateReplicator)
-asterisk_scf_component_add_file(SipStateReplicator SipStateReplicatorApp.cpp)
-asterisk_scf_component_add_file(SipStateReplicator SipStateReplicator.h)
-asterisk_scf_component_add_slice(SipStateReplicator ../local-slice/SipStateReplicationIf.ice)
-asterisk_scf_component_add_slice(SipStateReplicator ../local-slice/SipIf.ice)
-asterisk_scf_component_add_slice(SipStateReplicator ../local-slice/SipConfigurationIf.ice)
-asterisk_scf_component_add_ice_libraries(SipStateReplicator IceStorm)
-asterisk_scf_component_add_ice_libraries(SipStateReplicator IceBox)
-asterisk_scf_component_add_boost_libraries(SipStateReplicator thread date_time)
-asterisk_scf_component_build_icebox(SipStateReplicator)
+astscf_component_init(SipStateReplicator)
+astscf_component_add_file(SipStateReplicator SipStateReplicatorApp.cpp)
+astscf_component_add_file(SipStateReplicator SipStateReplicator.h)
+astscf_component_add_slice(SipStateReplicator ../local-slice/SipStateReplicationIf.ice)
+astscf_component_add_slice(SipStateReplicator ../local-slice/SipIf.ice)
+astscf_component_add_slice(SipStateReplicator ../local-slice/SipConfigurationIf.ice)
+astscf_component_add_ice_libraries(SipStateReplicator IceStorm)
+astscf_component_add_ice_libraries(SipStateReplicator IceBox)
+astscf_component_add_boost_libraries(SipStateReplicator thread date_time)
+astscf_component_build_icebox(SipStateReplicator)
 target_link_libraries(SipStateReplicator logging-client)
 target_link_libraries(SipStateReplicator asterisk-scf-api)
 target_link_libraries(SipStateReplicator ice-util-cpp)
-asterisk_scf_component_install(SipStateReplicator)
+astscf_component_install(SipStateReplicator)

commit 5f4c5725e89df126109a572417fd3f6ac36b3d8b
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Jun 2 16:04:55 2011 -0500

    Allow user to disable building of tests.
    
    The CTest module offers a BUILD_TESTING option; if the user turns this option
    off, we shouldn't bother building any of our tests.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b92cc73..a531b08 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,6 @@
 asterisk_scf_project(SipSessionManager 3.4)
 
 add_subdirectory(src)
-add_subdirectory(test)
+if(BUILD_TESTING)
+  add_subdirectory(test)
+endif()

commit 384cb9af005a7ca75d7599aa2f356e9904024a90
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Jun 2 15:10:51 2011 -0500

    Remove directories used for submodules.

diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index a628faf..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,9 +0,0 @@
-[submodule "cmake"]
-	path = cmake
-	url = ../../release/cmake
-[submodule "slice"]
-	path = slice
-	url = ../../integration/slice
-[submodule "logger"]
-	path = logger
-	url = git at git.asterisk.org:asterisk-scf/integration/logger
diff --git a/cmake b/cmake
deleted file mode 160000
index 17066de..0000000
--- a/cmake
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 17066de364794f3befcdcca030ca31d349e83eea
diff --git a/logger b/logger
deleted file mode 160000
index a867306..0000000
--- a/logger
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a867306cbc5dce5b0cd899094b3215921f0263d3
diff --git a/slice b/slice
deleted file mode 160000
index 0c62939..0000000
--- a/slice
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0c629393e2f05dc0ed43bcc6305880949df36289

commit 09511d65f232bb4d04758c6e124a8649f20ad19b
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jun 17 16:55:57 2011 -0500

    Get rid of the ability to configure endpoints in an Ice config file.
    
    At this point, the dynamic configuration is easier to use and has more
    options. The old code confused matters for developers.

diff --git a/src/SipEndpoint.cpp b/src/SipEndpoint.cpp
index 3ff806f..2a6af1a 100644
--- a/src/SipEndpoint.cpp
+++ b/src/SipEndpoint.cpp
@@ -98,24 +98,6 @@ public:
     AsteriskSCF::System::Component::V1::ReplicaPtr mReplica;
 };
 
-/**
- * Default constructor.
- */
-SipEndpoint::SipEndpoint(const Ice::ObjectAdapterPtr& adapter, const boost::shared_ptr<SipEndpointFactory>& factory,
-        const std::string& name, const Ice::PropertyDict& props, PJSipManager *manager,
-        const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-        const AsteriskSCF::System::Component::V1::ReplicaPtr& replica)
-    : mImplPriv(new SipEndpointImplPriv(adapter, factory, name, manager, serviceLocator, replica))
-{
-    lg(Debug) << "Constructing SIP endpoint " << name;
-
-    mImplPriv->mEndpointProxy =
-        AsteriskSCF::SessionCommunications::V1::SessionEndpointPrx::uncheckedCast(
-            mImplPriv->mAdapter->addWithUUID(this));
-
-    setConfiguration(props);
-}
-
 SipEndpoint::SipEndpoint(Ice::ObjectAdapterPtr adapter, boost::shared_ptr<SipEndpointFactory> factory, std::string name, PJSipManager *manager,
     const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator, const AsteriskSCF::System::Component::V1::ReplicaPtr replica)
     : mImplPriv(new SipEndpointImplPriv(adapter, factory, name, manager, serviceLocator, replica))
@@ -159,76 +141,6 @@ void SipEndpoint::setRTPOverIPv6(bool enabled)
     mImplPriv->mConfig.sessionConfig.rtpOverIPv6 = enabled;
 }
 
-void SipEndpoint::setConfiguration(const Ice::PropertyDict& props)
-{
-    setTransportConfiguration(props);
-    //setAuthConfiguration(props);
-    //setRegistrationConfiguration(props);
-    setSessionConfiguration(props);
-    //setMediaConfiguration(props);
-    //setSubscriptionConfiguration(props);
-}
-
-void SipEndpoint::setTransportConfiguration(const Ice::PropertyDict& props)
-{
-    std::string prefix("Sip.Endpoint.");
-    prefix.append(mImplPriv->mName);
-    prefix.append(".Transport.");
-    // Got the basic prefix. Now get the known config options.
-    Ice::PropertyDict::const_iterator IpAddress = props.find(prefix + "Address");
-    if (IpAddress != props.end())
-    {
-        pj_str_t addr;
-        pj_sockaddr sockaddr;
-        pj_cstr(&addr, IpAddress->second.c_str());
-        if (pj_sockaddr_parse(pj_AF_UNSPEC(), 0, &addr, &sockaddr) != PJ_SUCCESS)
-        {
-            lg(Error) << "Bad address specifier in transport configuration for SIP endpoint " << mImplPriv->mName;
-        }
-        else
-        {
-            mImplPriv->mConfig.transportConfig.address = IpAddress->second;
-        }
-    }
-    Ice::PropertyDict::const_iterator direction = props.find(prefix + "SecureTransport");
-    if (direction != props.end())
-    {
-        mImplPriv->mConfig.transportConfig.secureTransport = SipEndpointConfig::stringToDirection(direction->second);
-    }
-    Ice::PropertyDict::const_iterator user = props.find(prefix + "User");
-    if (user != props.end())
-    {
-        mImplPriv->mConfig.transportConfig.user = user->second;
-    }
-}
-
-void SipEndpoint::setSessionConfiguration(const Ice::PropertyDict& props)
-{
-    std::string prefix("Sip.Endpoint.");
-    prefix.append(mImplPriv->mName);
-    prefix.append(".Session.");
-    Ice::PropertyDict::const_iterator direction = props.find(prefix + "CallDirection");
-    if (direction != props.end())
-    {
-        mImplPriv->mConfig.sessionConfig.callDirection = SipEndpointConfig::stringToDirection(direction->second);
-    }
-    Ice::PropertyDict::const_iterator address = props.find(prefix + "SourceAddress");
-    if (address != props.end())
-    {
-        pj_str_t addr;
-        pj_sockaddr sockaddr;
-        pj_cstr(&addr, address->second.c_str());
-        if (pj_sockaddr_parse(pj_AF_UNSPEC(), 0, &addr, &sockaddr) != PJ_SUCCESS)
-        {
-            lg(Error) << "Bad address specifier in session configuration for SIP endpoint " << mImplPriv->mName;
-        }
-        else
-        {
-            mImplPriv->mConfig.sessionConfig.sourceAddress = address->second;
-        }
-    }
-}
-
 Direction SipEndpointConfig::stringToDirection(const std::string& directionString)
 {
     if (directionString == "Both")
diff --git a/src/SipEndpoint.h b/src/SipEndpoint.h
index 40a8e25..cb91a66 100644
--- a/src/SipEndpoint.h
+++ b/src/SipEndpoint.h
@@ -211,11 +211,6 @@ class SipEndpointImplPriv;
 class SipEndpoint : public AsteriskSCF::SessionCommunications::V1::SessionEndpoint
 {
 public:
-    SipEndpoint(const Ice::ObjectAdapterPtr& adapter, const boost::shared_ptr<SipEndpointFactory>& factory,
-            const std::string& name, const Ice::PropertyDict& props, PJSipManager *manager,
-            const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator,
-            const AsteriskSCF::System::Component::V1::ReplicaPtr& replica);
-
     SipEndpoint(Ice::ObjectAdapterPtr adapter, boost::shared_ptr<SipEndpointFactory> factory, std::string name, PJSipManager *manager,
         const AsteriskSCF::Core::Discovery::V1::ServiceLocatorPrx& serviceLocator, const AsteriskSCF::System::Component::V1::ReplicaPtr replica);
 
@@ -265,19 +260,6 @@ private:
      * Private implementation details.
      */
     boost::shared_ptr<SipEndpointImplPriv> mImplPriv;
-
-    /**
-     * Set up configuration for the endpoint
-     */
-    void setConfiguration(const Ice::PropertyDict& props);
-
-    void setTransportConfiguration(const Ice::PropertyDict& props);
-
-    void setSessionConfiguration(const Ice::PropertyDict& props);
-    void setRegistrationConfiguration(const Ice::PropertyDict& props);
-    void setAuthConfiguration(const Ice::PropertyDict& props);
-    void setMediaConfiguration(const Ice::PropertyDict& props);
-    void setSubscriptionConfiguration(const Ice::PropertyDict& props);
 };
 
 /**
diff --git a/src/SipEndpointFactory.cpp b/src/SipEndpointFactory.cpp
index 09c4704..61349c9 100644
--- a/src/SipEndpointFactory.cpp
+++ b/src/SipEndpointFactory.cpp
@@ -22,17 +22,6 @@ namespace AsteriskSCF
 namespace SipSessionManager
 {
 
-SipEndpointPtr SipEndpointFactory::createEndpoint(const std::string& destination, const Ice::PropertiesPtr& props)
-{
-    std::string prefix("Sip.Endpoint.");
-    prefix.append(destination);
-    Ice::PropertyDict endpointProps = props->getPropertiesForPrefix(prefix);
-    SipEndpointPtr endpoint = new SipEndpoint(mAdapter, shared_from_this(), destination, endpointProps, mManager,
-            mServiceLocator, mReplica);
-    mEndpoints.push_back(endpoint);
-    return endpoint;
-}
-
 SipEndpointPtr SipEndpointFactory::createEndpoint(std::string endpointName)
 {
     SipEndpointPtr endpoint = new SipEndpoint(mAdapter, shared_from_this(), endpointName, mManager, mServiceLocator, mReplica);
diff --git a/src/SipEndpointFactory.h b/src/SipEndpointFactory.h
index 48cfd97..d16637f 100644
--- a/src/SipEndpointFactory.h
+++ b/src/SipEndpointFactory.h
@@ -40,8 +40,6 @@ public:
         const AsteriskSCF::System::Component::V1::ReplicaPtr& replica) :
         mAdapter(adapter), mManager(manager), mServiceLocator(serviceLocator), mReplica(replica) { };
 
-    SipEndpointPtr createEndpoint(const std::string& destination, const Ice::PropertiesPtr& props);
-
     SipEndpointPtr createEndpoint(std::string);
 
     void remove(std::string);
diff --git a/src/SipSessionManagerApp.cpp b/src/SipSessionManagerApp.cpp
index 7e4bb4e..148efb0 100644
--- a/src/SipSessionManagerApp.cpp
+++ b/src/SipSessionManagerApp.cpp
@@ -98,7 +98,6 @@ private:
     void registerWithStateReplicator();
     void registerWithRoutingService();
     void deregisterFromRoutingService();
-    void configureEndpoints();
     void registerPJSipModules();
     void deregisterFromStateReplicator();
 
@@ -455,18 +454,6 @@ void SipSessionManager::deregisterFromServiceLocator()
     }
 }
 
-void SipSessionManager::configureEndpoints()
-{
-    Ice::PropertiesPtr props = mCommunicator->getProperties();
-    Ice::StringSeq endpointNames = props->getPropertyAsList("Sip.Endpoints");
-    for (Ice::StringSeq::iterator i = endpointNames.begin();
-         i != endpointNames.end();
-         ++i)
-    {
-        SipEndpointPtr endpoint = mEndpointFactory->createEndpoint(*i, props);
-    }
-}
-
 void SipSessionManager::registerPJSipModules()
 {
     Ice::PropertiesPtr props = mCommunicator->getProperties();
@@ -587,9 +574,6 @@ void SipSessionManager::initialize(const string& appName, const Ice::Communicato
         mGlobalAdapter->activate();
         mLocalAdapter->activate();
         lg(Debug) << "Activated object adapters";
-
-        configureEndpoints();
-        lg(Debug) << "Endpoints configured";
     }
     catch(...)
     {

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/sip.git



More information about the asterisk-scf-commits mailing list