X-Git-Url: https://git.cweiske.de/auerswald-callnotifier.git/blobdiff_plain/dec68e4aaf86f4db07d0a313516319a6d37d88fe..0ecfe5252028e1d2da82bc1ebe48307df288a611:/src/callnotifier/CallMonitor.php 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; + } + } + } } ?>