[asterisk-scf-commits] asterisk-scf/release/slice.git branch "master" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Fri Sep 30 17:54:22 CDT 2011
branch "master" has been updated
via 38c625182693d9900c734ded0055a66ca24fe01e (commit)
from 11fde89592c2d13346d7322b8d3591f2f104c5b0 (commit)
Summary of changes:
.../PartyIdentificationIf.ice | 20 ++--
.../SessionCommunicationsExtensionPointsIf.ice | 122 ++++++++++++++++++++
.../SessionCommunicationsIf.ice | 20 ++--
3 files changed, 144 insertions(+), 18 deletions(-)
- Log -----------------------------------------------------------------
commit 38c625182693d9900c734ded0055a66ca24fe01e
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 30 17:26:53 2011 -0500
Defines extension points that modify party identification records.
diff --git a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
index 66292b4..a0e11f1 100644
--- a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
@@ -115,24 +115,28 @@ module V1
};
/**
- * Base class for redirecting information
+ * Describes an instance of redirection.
*/
- unsliceable class Redirecting extends AsteriskSCF::SessionCommunications::V1::SessionCookie
+ unsliceable class Redirection
{
/**
* Party identification information for who the session is being redirected away from
*/
- Id from;
+ Id fromId;
/**
* Party identification information for who the session is being redirected to
*/
- Id to;
+ Id toId;
+ };
+ sequence <Redirection> RedirectionSeq;
- /**
- * Number of times the session has been redirected
- */
- int count;
+ /**
+ * Base class for redirection information.
+ */
+ unsliceable class Redirections extends AsteriskSCF::SessionCommunications::V1::SessionCookie
+ {
+ RedirectionSeq redirects;
};
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
index 107d129..86de504 100755
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
@@ -140,6 +140,128 @@ module V1
*/
void clearHooks();
};
+
+ const string PartyIdentificationHookLocatorCategory = "PartyIdHook";
+
+ /**
+ * Hook into party identification ConnectedLine record for
+ * incoming ConnectedLine updates.
+ */
+ interface ReceivedConnectedLinePartyIdHook
+ {
+ /**
+ * This hook operation is called when ConnectedLine updates are received.
+ * The caller of the hook will provide the session who sent the ConnectedLine record
+ * to the hook. This hook is expected to return the original ConnectedLine record
+ * or an updated version of it.
+ *
+ * @param sendingSession The session that has sent ConnectedLine information.
+ * @param receivedConnectedLineUpdate The data received from the sending session.
+ * @param[out] replacementConnectedLineUpdate Modified data to be used
+ * @return A HookResult indicating whether the hook was successful
+ */
+ AsteriskSCF::System::Hook::V1::HookResult modifyReceivedConnectedLine(
+ AsteriskSCF::SessionCommunications::V1::Session *sendingSession,
+ AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine receivedConnectedLineUpdate,
+ out AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine replacementConnectedLineUpdate);
+ };
+ sequence<ReceivedConnectedLinePartyIdHook*> ReceivedConnectedLinePartyIdHookSeq;
+
+ /**
+ * Hook into party identification ConnectedLine record
+ * for modifying ConnectedLine information being sent to a
+ * specific Session.
+ */
+ interface ForwardingConnectedLinePartyIdHook
+ {
+ /**
+ * This hook is called when ConnectedLine updates are being sent to a particular
+ * session. The caller provides the session that will receive the ConnectedLine information
+ * to the hook, as well as the session that sent the updated record.
+ * This hook is expected to return the original ConnectedLine record
+ * or an updated version of it.
+ *
+ * @param sendingSession The session that has sent ConnectedLine information.
+ * @param destinationSession The session that will receive the ConnectedLine information.
+ * @param[out] receivedConnectedLine The data received from the sending session.
+ * @param[out] replacementConnectedLine Modified data to be used.
+ * @return A HookResult indicating whether the hook was successful
+ */
+ AsteriskSCF::System::Hook::V1::HookResult modifyForwardingConnectedLine(
+ AsteriskSCF::SessionCommunications::V1::Session *sendingSession,
+ AsteriskSCF::SessionCommunications::V1::Session *destinationSession,
+ AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine receivedConnectedLine,
+ out AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine replacementConnectedLine);
+ };
+ sequence<ForwardingConnectedLinePartyIdHook*> ForwardingConnectedLinePartyIdHookSeq;
+
+ /**
+ * Hook into party identification Redirections record. This hook
+ * allows modifying a Redirections record prior to sending it to
+ * each connected Session that may be affected.
+ */
+ interface ForwardingRedirectionsPartyIdHook
+ {
+ /**
+ *
+ * This hook is called when Redirections are being forwarded to a session.
+ * The caller provides the session that will receive the Redirections information
+ * to the hook, as well as the session that sent the record.
+ * This hook is expected to return the original Redirections record
+ * or an updated version of it.
+ *
+ * @param sendingSession The session that has sent Redirections information.
+ * @param destinationSession The session that will receive the Redirections information.
+ * @param[out] receivedRedirections The data received from the sending session.
+ * @param[out] replacementRedirections Modified data to be used.
+ * @return A HookResult indicating whether the hook was successful
+ */
+ AsteriskSCF::System::Hook::V1::HookResult modifyForwardingRedirections(
+ AsteriskSCF::SessionCommunications::V1::Session *sendingSession,
+ AsteriskSCF::SessionCommunications::V1::Session *destinationSession,
+ AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections receivedRedirections,
+ out AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections replacementRedirections);
+ };
+ sequence<ForwardingRedirectionsPartyIdHook*> ForwardingRedirectionsPartyIdHookSeq;
+
+ interface PartyIdentificationExtensionPoint
+ {
+ /**
+ * Add a hook for received ConnectedLine party id.
+ */
+ void addReceivedConnectedLinePartyIdHook(ReceivedConnectedLinePartyIdHook* hook);
+
+ /**
+ * Add a hook to invoke when forwarding ConnectedLine party id.
+ */
+ void addForwardingConnectedLinePartyIdHook(ForwardingConnectedLinePartyIdHook* hook);
+
+ /**
+ * Add a hook to invoke when forwarding Redirections party id record.
+ */
+ void addForwardingRedirectionsPartyIdHook(ForwardingRedirectionsPartyIdHook* hook);
+
+ /**
+ * Remove a received ConnectedLine hook
+ */
+ void removeReceivedConnectedLinePartyIdHook(ReceivedConnectedLinePartyIdHook* hook);
+
+ /**
+ * Remove a forwarding ConnectedLine hook
+ */
+ void removeForwardingConnectedLinePartyIdHook(ForwardingConnectedLinePartyIdHook* hook);
+
+ /**
+ * Remove a forwarding Redirections hook
+ */
+ void removeForwardingRedirectionsPartyIdHook(ForwardingRedirectionsPartyIdHook* hook);
+
+ /**
+ * Remove all party identification hooks
+ */
+ void clearPartyIdentificationHooks();
+ };
+
}; /* End of module V1 */
}; /* End of module ExtensionPoints */
}; /* End of module SessionCommunications */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index c83931d..4127870 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -351,7 +351,7 @@ module V1
["amd"] void removeStreams(AsteriskSCF::Media::V1::StreamInformationDict streams);
/**
- * Method which updates connected line party identification.
+ * Method which updates connected line party identification.
*
* @param connectedLine Connected line party information.
*
@@ -360,13 +360,13 @@ module V1
void updateConnectedLine(AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine connectedLine);
/**
- * Method which updates redirecting party information.
+ * Method which provides notification of redirections that have occurred.
*
- * @param connectedLine Connected line party information.
+ * @param redirections Redirections that have occurred
*
- * @see Asterisk::SessionCommunications::PartyIdentifcation::V1::Redirecting
+ * @see Asterisk::SessionCommunications::PartyIdentifcation::V1::Redirections
*/
- void updateRedirecting(AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirecting redirecting);
+ void updateRedirections(AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections redirections);
};
/**
@@ -599,15 +599,15 @@ module V1
getSessionOwnerId();
/**
- * Method which retrieves redirecting party identification information
+ * Method which access redirection party identification information
*
- * @return Concrete class containing redirecting party information
+ * @return Concrete class containing redirections history for the session
*
- * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirecting
+ * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections
*/
["amd"] idempotent
- AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirecting
- getRedirecting();
+ AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections
+ getRedirections();
/**
* Method which retrieves connected line identification information
-----------------------------------------------------------------------
--
asterisk-scf/release/slice.git
More information about the asterisk-scf-commits
mailing list