aboutsummaryrefslogtreecommitdiff
path: root/src/callnotifier/CallMonitor.php
diff options
context:
space:
mode:
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;
+ }
+ }
+ }
}
?>