diff --git a/src/net/java/sip/communicator/impl/protocol/sip/CallSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/CallSipImpl.java
index 543f21777..e954e7551 100644
--- a/src/net/java/sip/communicator/impl/protocol/sip/CallSipImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/sip/CallSipImpl.java
@@ -291,12 +291,12 @@ protected void processExtraHeaders(javax.sip.message.Message message)
logger.warn("Error getting media types", t);
}
- getParentOperationSet().fireCallEvent(
- incomingCall
- ? CallEvent.CALL_RECEIVED
- : CallEvent.CALL_INITIATED,
- this,
- mediaDirections);
+ fireCallEvent(
+ incomingCall
+ ? CallEvent.CALL_RECEIVED
+ : CallEvent.CALL_INITIATED,
+ this,
+ mediaDirections);
if(hasZrtp)
{
@@ -313,6 +313,24 @@ protected void processExtraHeaders(javax.sip.message.Message message)
return callPeer;
}
+ /**
+ * Creates and dispatches a CallEvent notifying registered
+ * listeners that an event with id eventID has occurred on
+ * sourceCall.
+ *
+ * @param eventID the ID of the event to dispatch
+ * @param sourceCall the call on which the event has occurred.
+ * @param mediaDirections direction map for media types
+ */
+ protected void fireCallEvent(
+ int eventID,
+ Call sourceCall,
+ Map mediaDirections)
+ {
+ getParentOperationSet().fireCallEvent(
+ eventID, sourceCall, mediaDirections);
+ }
+
/**
* Returns the call peer whose associated jain sip dialog matches
* dialog.
diff --git a/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetBasicTelephony.java b/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetBasicTelephony.java
index f41ddaf4c..ceab757d9 100644
--- a/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetBasicTelephony.java
+++ b/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetBasicTelephony.java
@@ -152,7 +152,18 @@ public void fireCallEvent(
Call sourceCall,
Map mediaDirections)
{
- CallEvent event = new CallEvent(sourceCall, eventID, mediaDirections);
+ fireCallEvent(new CallEvent(sourceCall, eventID, mediaDirections));
+ }
+
+ /**
+ * Creates and dispatches a CallEvent notifying registered
+ * listeners that an event with id eventID has occurred on
+ * sourceCall.
+ *
+ * @param event the event to dispatch
+ */
+ public void fireCallEvent(CallEvent event)
+ {
List listeners;
synchronized (callListeners)
@@ -176,7 +187,7 @@ public void fireCallEvent(
"Dispatching a CallEvent to "
+ listener.getClass() + " . The event is: "+ event);
- switch (eventID)
+ switch (event.getEventID())
{
case CallEvent.CALL_INITIATED:
listener.outgoingCallCreated(event);