aboutsummaryrefslogtreecommitdiff
path: root/src/callnotifier/CallMonitor.php
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2012-08-01 07:48:16 +0200
committerChristian Weiske <cweiske@cweiske.de>2012-08-01 07:48:16 +0200
commit66b5eaa8e0e5cf18cd61f86eb04366e81cdaa64e (patch)
treed4cf8dfb76e64a724f76c69b11780752be2d6a40 /src/callnotifier/CallMonitor.php
parent198e9133914a87e7a366944a730a3816094cba3a (diff)
downloadauerswald-callnotifier-66b5eaa8e0e5cf18cd61f86eb04366e81cdaa64e.tar.gz
auerswald-callnotifier-66b5eaa8e0e5cf18cd61f86eb04366e81cdaa64e.zip
collect parameters on information elements, too
Diffstat (limited to 'src/callnotifier/CallMonitor.php')
-rw-r--r--src/callnotifier/CallMonitor.php28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/callnotifier/CallMonitor.php b/src/callnotifier/CallMonitor.php
index 9abdba8..af72e0a 100644
--- a/src/callnotifier/CallMonitor.php
+++ b/src/callnotifier/CallMonitor.php
@@ -43,16 +43,7 @@ class CallMonitor
{
$call = $this->currentCalls[$callId];
$call->start = time();
- foreach ($msg->parameters as $param) {
- switch ($param->type) {
- case EDSS1_Parameter::CALLING_PARTY_NUMBER:
- $call->from = $param->number;
- break;
- case EDSS1_Parameter::CALLED_PARTY_NUMBER:
- $call->to = $param->number;
- break;
- }
- }
+ $this->handleParams($call, $msg);
}
@@ -61,6 +52,9 @@ class CallMonitor
$call = $this->currentCalls[$callId];
switch ($msg->type) {
+ case EDSS1_Message::INFORMATION:
+ $this->handleParams($call, $msg);
+ break;
case EDSS1_Message::CALL_PROCEEDING:
$this->log->log('incomingCall', array('call' => $call));
break;
@@ -73,6 +67,20 @@ class CallMonitor
break;
}
}
+
+ protected function handleParams($call, $msg)
+ {
+ foreach ($msg->parameters as $param) {
+ switch ($param->type) {
+ case EDSS1_Parameter::CALLING_PARTY_NUMBER:
+ $call->from = $param->number;
+ break;
+ case EDSS1_Parameter::CALLED_PARTY_NUMBER:
+ $call->to = $param->number;
+ break;
+ }
+ }
+ }
}
?>