From 52ee8d021c4bfea95def98a4c9d61a58be88328e Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 2 Aug 2012 18:13:55 +0200 Subject: [PATCH] create full number from the given national number --- src/callnotifier/CallMonitor.php | 17 +++++++++++++++-- src/callnotifier/EDSS1/Parameter/Names.php | 7 +++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/callnotifier/CallMonitor.php b/src/callnotifier/CallMonitor.php index 682008a..ebc9a50 100644 --- a/src/callnotifier/CallMonitor.php +++ b/src/callnotifier/CallMonitor.php @@ -79,14 +79,27 @@ class CallMonitor foreach ($msg->parameters as $param) { switch ($param->type) { case EDSS1_Parameter::CALLING_PARTY_NUMBER: - $call->from = $param->number; + $call->from = $this->getFullNumber( + $param->number, $param->numberType + ); break; case EDSS1_Parameter::CALLED_PARTY_NUMBER: - $call->to = $param->number; + $call->to = $this->getFullNumber( + $param->number, $param->numberType + ); break; } } } + + + protected function getFullNumber($number, $type) + { + if ($type == EDSS1_Parameter_Names::NUMBER_NATIONAL) { + return '0' . $number; + } + return $number; + } } ?> diff --git a/src/callnotifier/EDSS1/Parameter/Names.php b/src/callnotifier/EDSS1/Parameter/Names.php index cb6caef..f384dcf 100644 --- a/src/callnotifier/EDSS1/Parameter/Names.php +++ b/src/callnotifier/EDSS1/Parameter/Names.php @@ -6,6 +6,13 @@ namespace callnotifier; */ class EDSS1_Parameter_Names extends EDSS1_Parameter { + const NUMBER_UNKNOWN = 0; + const NUMBER_INTERNATIONAL = 1; + const NUMBER_NATIONAL = 2; + const NUMBER_NETWORKSPECIFIC = 3; + const NUMBER_SUBSCRIBER = 4; + const NUMBER_ABBREV = 5; + static $numberTypes = array( 0 => 'Unknown', 1 => 'International number', -- 2.30.2