From dff91b76f10fd4735571c553cc340b7c952a85be Mon Sep 17 00:00:00 2001 From: Thomas Vargiu Date: Wed, 9 Nov 2016 15:21:34 +0100 Subject: [PATCH] Events compatibility with Asterisk v12-14 --- src/PAMI/Message/Event/NewextenEvent.php | 15 +- src/PAMI/Message/Event/ParkedCallEvent.php | 186 +++++++- src/PAMI/Message/Event/UnParkedCallEvent.php | 437 ++++++++++++++++++- test/events/Test_Events.php | 89 +++- 4 files changed, 688 insertions(+), 39 deletions(-) diff --git a/src/PAMI/Message/Event/NewextenEvent.php b/src/PAMI/Message/Event/NewextenEvent.php index 6461bc6af..b2674fbad 100644 --- a/src/PAMI/Message/Event/NewextenEvent.php +++ b/src/PAMI/Message/Event/NewextenEvent.php @@ -29,8 +29,6 @@ */ namespace PAMI\Message\Event; -use PAMI\Message\Event\EventMessage; - /** * Event triggered when a new extension is accessed. * @@ -66,7 +64,8 @@ public function getChannel() } /** - * Returns key: 'Exten'. + * Returns key: 'Extension'. + * @deprecated Please use {@see getExten()}. * * @return string */ @@ -75,6 +74,16 @@ public function getExtension() return $this->getKey('Extension'); } + /** + * Returns key: 'Exten'. + * + * @return string + */ + public function getExten() + { + return $this->getKey('Exten') ?: $this->getKey('Extension'); + } + /** * Returns key: 'Context'. * diff --git a/src/PAMI/Message/Event/ParkedCallEvent.php b/src/PAMI/Message/Event/ParkedCallEvent.php index c1e67e192..03efb15fb 100644 --- a/src/PAMI/Message/Event/ParkedCallEvent.php +++ b/src/PAMI/Message/Event/ParkedCallEvent.php @@ -29,8 +29,6 @@ */ namespace PAMI\Message\Event; -use PAMI\Message\Event\EventMessage; - /** * Event triggered when a call is parked. * @@ -77,81 +75,249 @@ public function getFrom() /** * Returns key: 'Timeout'. + * @deprecated Deprecated since Asterisk 12. {@use ParkingTimeout()}. * * @return string */ public function getTimeout() { - return $this->getKey('Timeout'); + return $this->getParkingTimeout(); } /** * Returns key: 'ConnectedLineNum'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeConnectedLineNum()}. * * @return string */ public function getConnectedLineNum() { - return $this->getKey('ConnectedLineNum'); + return $this->getParkeeConnectedLineNum(); } /** * Returns key: 'ConnectedLineName'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeConnectedLineName()}. * * @return string */ public function getConnectedLineName() { - return $this->getKey('ConnectedLineName'); + return $this->getParkeeConnectedLineName(); } /** * Returns key: 'Channel'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeChannel()}. * * @return string */ public function getChannel() { - return $this->getKey('Channel'); + return $this->getParkeeChannel(); } /** * Returns key: 'CallerIDNum'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeCallerIDNum()}. * * @return string */ public function getCallerIDNum() { - return $this->getKey('CallerIDNum'); + return $this->getParkeeCallerIDNum(); } /** * Returns key: 'CallerIDName'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeCallerIDName()}. * * @return string */ public function getCallerIDName() { - return $this->getKey('CallerIDName'); + return $this->getParkeeCallerIDName(); } /** * Returns key: 'UniqueID'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeUniqueid()}. * * @return string */ public function getUniqueID() { - return $this->getKey('UniqueID'); + return $this->getParkeeUniqueid(); } /** * Returns key: 'Exten'. + * @deprecated Deprecated since Asterisk 12. {@use getParkingSpace()}. * * @return string */ public function getExtension() { - return $this->getKey('Exten'); + return $this->getParkingSpace(); + } + + /** + * Returns key: 'ParkeeChannel'. + * + * @return string + */ + public function getParkeeChannel() + { + return $this->getKey('ParkeeChannel') ?: $this->getKey('Channel'); + } + + /** + * Returns key: 'ParkeeChannelState'. + * + * @return string + */ + public function getParkeeChannelState() + { + return $this->getKey('ParkeeChannelState'); + } + + /** + * Returns key: 'ParkeeChannelStateDesc'. + * + * @return string + */ + public function getParkeeChannelStateDesc() + { + return $this->getKey('ParkeeChannelStateDesc'); + } + + /** + * Returns key: 'ParkeeCallerIDNum'. + * + * @return string + */ + public function getParkeeCallerIDNum() + { + return $this->getKey('ParkeeCallerIDNum') ?: $this->getKey('CallerIDNum'); + } + + /** + * Returns key: 'ParkeeCallerIDName'. + * + * @return string + */ + public function getParkeeCallerIDName() + { + return $this->getKey('ParkeeCallerIDName') ?: $this->getKey('CallerIDName'); + } + + /** + * Returns key: 'ParkeeConnectedLineNum'. + * + * @return string + */ + public function getParkeeConnectedLineNum() + { + return $this->getKey('ParkeeConnectedLineNum') ?: $this->getKey('ConnectedLineNum'); + } + + /** + * Returns key: 'ParkeeConnectedLineName'. + * + * @return string + */ + public function getParkeeConnectedLineName() + { + return $this->getKey('ParkeeConnectedLineName') ?: $this->getKey('ConnectedLineName'); + } + + /** + * Returns key: 'ParkeeAccountCode'. + * + * @return string + */ + public function getParkeeAccountCode() + { + return $this->getKey('ParkeeAccountCode'); + } + + /** + * Returns key: 'ParkeeContext'. + * + * @return string + */ + public function getParkeeContext() + { + return $this->getKey('ParkeeContext'); + } + + /** + * Returns key: 'ParkeeExten'. + * + * @return string + */ + public function getParkeeExten() + { + return $this->getKey('ParkeeExten'); + } + + /** + * Returns key: 'ParkeePriority'. + * + * @return string + */ + public function getParkeePriority() + { + return $this->getKey('ParkeePriority'); + } + + /** + * Returns key: 'ParkeeUniqueid'. + * + * @return string + */ + public function getParkeeUniqueid() + { + return $this->getKey('ParkeeUniqueid') ?: $this->getKey('UniqueId'); + } + + /** + * Returns key: 'ParkerDialString'. + * + * @return string + */ + public function getParkerDialString() + { + return $this->getKey('ParkerDialString'); + } + + /** + * Returns key: 'ParkingSpace'. + * + * @return string + */ + public function getParkingSpace() + { + return $this->getKey('ParkingSpace') ?: $this->getKey('Exten'); + } + + /** + * Returns key: 'ParkingTimeout'. + * + * @return string + */ + public function getParkingTimeout() + { + return $this->getKey('ParkingTimeout') ?: $this->getKey('Timeout'); + } + + /** + * Returns key: 'ParkingDuration'. + * + * @return string + */ + public function getParkingDuration() + { + return $this->getKey('ParkingDuration'); } } diff --git a/src/PAMI/Message/Event/UnParkedCallEvent.php b/src/PAMI/Message/Event/UnParkedCallEvent.php index 547cbe55a..86fcd4b2c 100644 --- a/src/PAMI/Message/Event/UnParkedCallEvent.php +++ b/src/PAMI/Message/Event/UnParkedCallEvent.php @@ -29,8 +29,6 @@ */ namespace PAMI\Message\Event; -use PAMI\Message\Event\EventMessage; - /** * Event triggered when a call is unparked. * @@ -67,81 +65,500 @@ public function getParkinglot() /** * Returns key: 'From'. + * @deprecated Deprecated since Asterisk 12. {@use getRetrieverChannel()}. * * @return string */ public function getFrom() { - return $this->getKey('From'); + return $this->getRetrieverChannel(); + } + + /** + * Returns key: 'Timeout'. + * @deprecated Deprecated since Asterisk 12. {@use ParkingTimeout()}. + * + * @return string + */ + public function getTimeout() + { + return $this->getParkingTimeout(); } /** * Returns key: 'ConnectedLineNum'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeConnectedLineNum()}. * * @return string */ public function getConnectedLineNum() { - return $this->getKey('ConnectedLineNum'); + return $this->getParkeeConnectedLineNum(); } /** * Returns key: 'ConnectedLineName'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeConnectedLineName()}. * * @return string */ public function getConnectedLineName() { - return $this->getKey('ConnectedLineName'); + return $this->getParkeeConnectedLineName(); } /** * Returns key: 'Channel'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeChannel()}. * * @return string */ public function getChannel() { - return $this->getKey('Channel'); + return $this->getParkeeChannel(); } /** * Returns key: 'CallerIDNum'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeCallerIDNum()}. * * @return string */ public function getCallerIDNum() { - return $this->getKey('CallerIDNum'); + return $this->getParkeeCallerIDNum(); } /** * Returns key: 'CallerIDName'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeCallerIDName()}. * * @return string */ public function getCallerIDName() { - return $this->getKey('CallerIDName'); + return $this->getParkeeCallerIDName(); } /** * Returns key: 'UniqueID'. + * @deprecated Deprecated since Asterisk 12. {@use getParkeeUniqueid()}. * * @return string */ public function getUniqueID() { - return $this->getKey('UniqueID'); + return $this->getParkeeUniqueid(); } /** * Returns key: 'Exten'. + * @deprecated Deprecated since Asterisk 12. {@use getParkingSpace()}. * * @return string */ public function getExtension() { - return $this->getKey('Exten'); + return $this->getParkingSpace(); + } + + /** + * Returns key: 'ParkeeChannel'. + * + * @return string + */ + public function getParkeeChannel() + { + return $this->getKey('ParkeeChannel') ?: $this->getKey('Channel'); + } + + /** + * Returns key: 'ParkeeChannelState'. + * + * @return string + */ + public function getParkeeChannelState() + { + return $this->getKey('ParkeeChannelState'); + } + + /** + * Returns key: 'ParkeeChannelStateDesc'. + * + * @return string + */ + public function getParkeeChannelStateDesc() + { + return $this->getKey('ParkeeChannelStateDesc'); + } + + /** + * Returns key: 'ParkeeCallerIDNum'. + * + * @return string + */ + public function getParkeeCallerIDNum() + { + return $this->getKey('ParkeeCallerIDNum') ?: $this->getKey('CallerIDNum'); + } + + /** + * Returns key: 'ParkeeCallerIDName'. + * + * @return string + */ + public function getParkeeCallerIDName() + { + return $this->getKey('ParkeeCallerIDName') ?: $this->getKey('CallerIDName'); + } + + /** + * Returns key: 'ParkeeConnectedLineNum'. + * + * @return string + */ + public function getParkeeConnectedLineNum() + { + return $this->getKey('ParkeeConnectedLineNum') ?: $this->getKey('ConnectedLineNum'); + } + + /** + * Returns key: 'ParkeeConnectedLineName'. + * + * @return string + */ + public function getParkeeConnectedLineName() + { + return $this->getKey('ParkeeConnectedLineName') ?: $this->getKey('ConnectedLineName'); + } + + /** + * Returns key: 'ParkeeAccountCode'. + * + * @return string + */ + public function getParkeeAccountCode() + { + return $this->getKey('ParkeeAccountCode'); + } + + /** + * Returns key: 'ParkeeContext'. + * + * @return string + */ + public function getParkeeContext() + { + return $this->getKey('ParkeeContext'); + } + + /** + * Returns key: 'ParkeeExten'. + * + * @return string + */ + public function getParkeeExten() + { + return $this->getKey('ParkeeExten'); + } + + /** + * Returns key: 'ParkeePriority'. + * + * @return string + */ + public function getParkeePriority() + { + return $this->getKey('ParkeePriority'); + } + + /** + * Returns key: 'ParkeeUniqueid'. + * + * @return string + */ + public function getParkeeUniqueid() + { + return $this->getKey('ParkeeUniqueid') ?: $this->getKey('UniqueId'); + } + + /** + * Returns key: 'ParkerDialString'. + * + * @return string + */ + public function getParkerDialString() + { + return $this->getKey('ParkerDialString'); + } + + /** + * Returns key: 'ParkingSpace'. + * + * @return string + */ + public function getParkingSpace() + { + return $this->getKey('ParkingSpace') ?: $this->getKey('Exten'); + } + + /** + * Returns key: 'ParkingTimeout'. + * + * @return string + */ + public function getParkingTimeout() + { + return $this->getKey('ParkingTimeout') ?: $this->getKey('Timeout'); + } + + /** + * Returns key: 'ParkingDuration'. + * + * @return string + */ + public function getParkingDuration() + { + return $this->getKey('ParkingDuration'); + } + + /** + * Returns key: 'ParkerChannel'. + * + * @return string + */ + public function getParkerChannel() + { + return $this->getKey('ParkerChannel'); + } + + /** + * Returns key: 'ParkerChannelState'. + * + * @return string + */ + public function getParkerChannelState() + { + return $this->getKey('ParkerChannelState'); + } + + /** + * Returns key: 'ParkerChannelStateDesc'. + * + * @return string + */ + public function getParkerChannelStateDesc() + { + return $this->getKey('ParkerChannelStateDesc'); + } + + /** + * Returns key: 'ParkerCallerIDNum'. + * + * @return string + */ + public function getParkerCallerIDNum() + { + return $this->getKey('ParkerCallerIDNum'); + } + + /** + * Returns key: 'ParkerCallerIDName'. + * + * @return string + */ + public function getParkerCallerIDName() + { + return $this->getKey('ParkerCallerIDName'); + } + + /** + * Returns key: 'ParkerConnectedLineNum'. + * + * @return string + */ + public function getParkerConnectedLineNum() + { + return $this->getKey('ParkerConnectedLineNum'); + } + + /** + * Returns key: 'ParkerConnectedLineName'. + * + * @return string + */ + public function getParkerConnectedLineName() + { + return $this->getKey('ParkerConnectedLineName'); + } + + /** + * Returns key: 'ParkerAccountCode'. + * + * @return string + */ + public function getParkerAccountCode() + { + return $this->getKey('ParkerAccountCode'); + } + + /** + * Returns key: 'ParkerContext'. + * + * @return string + */ + public function getParkerContext() + { + return $this->getKey('ParkerContext'); + } + + /** + * Returns key: 'ParkerExten'. + * + * @return string + */ + public function getParkerExten() + { + return $this->getKey('ParkerExten'); + } + + /** + * Returns key: 'ParkerPriority'. + * + * @return string + */ + public function getParkerPriority() + { + return $this->getKey('ParkerPriority'); + } + + /** + * Returns key: 'ParkerUniqueid'. + * + * @return string + */ + public function getParkerUniqueid() + { + return $this->getKey('ParkerUniqueid'); + } + + /** + * Returns key: 'RetrieverChannel'. + * + * @return string + */ + public function getRetrieverChannel() + { + return $this->getKey('RetrieverChannel') ?: $this->getKey('From'); + } + + /** + * Returns key: 'RetrieverChannelState'. + * + * @return string + */ + public function getRetrieverChannelState() + { + return $this->getKey('RetrieverChannelState'); + } + + /** + * Returns key: 'RetrieverChannelStateDesc'. + * + * @return string + */ + public function getRetrieverChannelStateDesc() + { + return $this->getKey('RetrieverChannelStateDesc'); + } + + /** + * Returns key: 'RetrieverCallerIDNum'. + * + * @return string + */ + public function getRetrieverCallerIDNum() + { + return $this->getKey('RetrieverCallerIDNum'); + } + + /** + * Returns key: 'RetrieverCallerIDName'. + * + * @return string + */ + public function getRetrieverCallerIDName() + { + return $this->getKey('RetrieverCallerIDName'); + } + + /** + * Returns key: 'RetrieverConnectedLineNum'. + * + * @return string + */ + public function getRetrieverConnectedLineNum() + { + return $this->getKey('RetrieverConnectedLineNum'); + } + + /** + * Returns key: 'RetrieverConnectedLineName'. + * + * @return string + */ + public function getRetrieverConnectedLineName() + { + return $this->getKey('RetrieverConnectedLineName'); + } + + /** + * Returns key: 'RetrieverAccountCode'. + * + * @return string + */ + public function getRetrieverAccountCode() + { + return $this->getKey('RetrieverAccountCode'); + } + + /** + * Returns key: 'RetrieverContext'. + * + * @return string + */ + public function getRetrieverContext() + { + return $this->getKey('RetrieverContext'); + } + + /** + * Returns key: 'RetrieverExten'. + * + * @return string + */ + public function getRetrieverExten() + { + return $this->getKey('RetrieverExten'); + } + + /** + * Returns key: 'RetrieverPriority'. + * + * @return string + */ + public function getRetrieverPriority() + { + return $this->getKey('RetrieverPriority'); + } + + /** + * Returns key: 'RetrieverUniqueid'. + * + * @return string + */ + public function getRetrieverUniqueid() + { + return $this->getKey('RetrieverUniqueid'); } } diff --git a/test/events/Test_Events.php b/test/events/Test_Events.php index ca4927796..4a8976c74 100644 --- a/test/events/Test_Events.php +++ b/test/events/Test_Events.php @@ -404,6 +404,7 @@ public function can_report_events() 'Application' => 'Application', 'Priority' => 'Priority', 'Extension' => 'Extension', + 'Exten' => 'Exten', 'Context' => 'Context', 'UniqueID' => 'UniqueID', ), @@ -764,26 +765,82 @@ public function can_report_events() 'Privilege' => 'Privilege', 'Parkinglot' => 'Parkinglot', 'From' => 'From', - 'Timeout' => 'Timeout', - 'ConnectedLineNum' => 'ConnectedLineNum', - 'ConnectedLineName' => 'ConnectedLineName', - 'Channel' => 'Channel', - 'CallerIDNum' => 'CallerIDNum', - 'CallerIDName' => 'CallerIDName', - 'UniqueID' => 'UniqueID', - 'Exten' => 'Exten' + 'Timeout' => 'ParkingTimeout', + 'ConnectedLineNum' => 'ParkeeConnectedLineNum', + 'ConnectedLineName' => 'ParkeeConnectedLineName', + 'Channel' => 'ParkeeChannel', + 'CallerIDNum' => 'ParkeeCallerIDNum', + 'CallerIDName' => 'ParkeeCallerIDName', + 'UniqueID' => 'ParkeeUniqueid', + 'Exten' => 'ParkingSpace', + 'ParkeeChannel' => 'ParkeeChannel', + 'ParkeeChannelState' => 'ParkeeChannelState', + 'ParkeeChannelStateDesc' => 'ParkeeChannelStateDesc', + 'ParkeeCallerIDNum' => 'ParkeeCallerIDNum', + 'ParkeeCallerIDName' => 'ParkeeCallerIDName', + 'ParkeeConnectedLineNum' => 'ParkeeConnectedLineNum', + 'ParkeeConnectedLineName' => 'ParkeeConnectedLineName', + 'ParkeeAccountCode' => 'ParkeeAccountCode', + 'ParkeeContext' => 'ParkeeContext', + 'ParkeeExten' => 'ParkeeExten', + 'ParkeePriority' => 'ParkeePriority', + 'ParkeeUniqueid' => 'ParkeeUniqueid', + 'ParkerDialString' => 'ParkerDialString', + 'ParkingSpace' => 'ParkingSpace', + 'ParkingTimeout' => 'ParkingTimeout', + 'ParkingDuration' => 'ParkingDuration', ), 'UnParkedCall' => array( 'Privilege' => 'Privilege', 'Parkinglot' => 'Parkinglot', - 'From' => 'From', - 'ConnectedLineNum' => 'ConnectedLineNum', - 'ConnectedLineName' => 'ConnectedLineName', - 'Channel' => 'Channel', - 'CallerIDNum' => 'CallerIDNum', - 'CallerIDName' => 'CallerIDName', - 'UniqueID' => 'UniqueID', - 'Exten' => 'Exten' + 'From' => 'RetrieverChannel', + 'ConnectedLineNum' => 'ParkeeConnectedLineNum', + 'ConnectedLineName' => 'ParkeeConnectedLineName', + 'Channel' => 'ParkeeChannel', + 'CallerIDNum' => 'ParkeeCallerIDNum', + 'CallerIDName' => 'ParkeeCallerIDName', + 'UniqueID' => 'ParkeeUniqueid', + 'Exten' => 'ParkingSpace', + 'ParkeeChannel' => 'ParkeeChannel', + 'ParkeeChannelState' => 'ParkeeChannelState', + 'ParkeeChannelStateDesc' => 'ParkeeChannelStateDesc', + 'ParkeeCallerIDNum' => 'ParkeeCallerIDNum', + 'ParkeeCallerIDName' => 'ParkeeCallerIDName', + 'ParkeeConnectedLineNum' => 'ParkeeConnectedLineNum', + 'ParkeeConnectedLineName' => 'ParkeeConnectedLineName', + 'ParkeeAccountCode' => 'ParkeeAccountCode', + 'ParkeeContext' => 'ParkeeContext', + 'ParkeeExten' => 'ParkeeExten', + 'ParkeePriority' => 'ParkeePriority', + 'ParkeeUniqueid' => 'ParkeeUniqueid', + 'ParkerDialString' => 'ParkerDialString', + 'ParkingSpace' => 'ParkingSpace', + 'ParkingTimeout' => 'ParkingTimeout', + 'ParkingDuration' => 'ParkingDuration', + 'ParkerChannel' => 'ParkerChannel', + 'ParkerChannelState' => 'ParkerChannelState', + 'ParkerChannelStateDesc' => 'ParkerChannelStateDesc', + 'ParkerCallerIDNum' => 'ParkerCallerIDNum', + 'ParkerCallerIDName' => 'ParkerCallerIDName', + 'ParkerConnectedLineNum' => 'ParkerConnectedLineNum', + 'ParkerConnectedLineName' => 'ParkerConnectedLineName', + 'ParkerAccountCode' => 'ParkerAccountCode', + 'ParkerContext' => 'ParkerContext', + 'ParkerExten' => 'ParkerExten', + 'ParkerPriority' => 'ParkerPriority', + 'ParkerUniqueid' => 'ParkerUniqueid', + 'RetrieverChannel' => 'RetrieverChannel', + 'RetrieverChannelState' => 'RetrieverChannelState', + 'RetrieverChannelStateDesc' => 'RetrieverChannelStateDesc', + 'RetrieverCallerIDNum' => 'RetrieverCallerIDNum', + 'RetrieverCallerIDName' => 'RetrieverCallerIDName', + 'RetrieverConnectedLineNum' => 'RetrieverConnectedLineNum', + 'RetrieverConnectedLineName' => 'RetrieverConnectedLineName', + 'RetrieverAccountCode' => 'RetrieverAccountCode', + 'RetrieverContext' => 'RetrieverContext', + 'RetrieverExten' => 'RetrieverExten', + 'RetrieverPriority' => 'RetrieverPriority', + 'RetrieverUniqueid' => 'RetrieverUniqueid', ), 'Link' => array( 'Privilege' => 'Privilege',