mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated libphonenumber implementation
This commit is contained in:
committed by
Dan Christian Bogos
parent
7104b5b713
commit
a79f1d33aa
@@ -19,6 +19,8 @@ import (
|
||||
"fmt"
|
||||
|
||||
"github.com/nyaruka/phonenumbers"
|
||||
"golang.org/x/text/language"
|
||||
"golang.org/x/text/language/display"
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
@@ -195,10 +197,19 @@ func (dDP *libphonenumberDP) fieldAsInterface(fldPath []string) (val interface{}
|
||||
case "NumberType":
|
||||
val = phonenumbers.GetNumberType(dDP.pNumber)
|
||||
case "GeoLocation":
|
||||
geoLocation, err := phonenumbers.GetGeocodingForNumber(dDP.pNumber, phonenumbers.GetRegionCodeForNumber(dDP.pNumber))
|
||||
regCode := phonenumbers.GetRegionCodeForNumber(dDP.pNumber)
|
||||
geoLocation, err := phonenumbers.GetGeocodingForNumber(dDP.pNumber, regCode)
|
||||
if err != nil {
|
||||
utils.Logger.Warning(fmt.Sprintf("Received error: <%+v> when getting GeoLocation for number %+v", err, dDP.pNumber))
|
||||
}
|
||||
if geoLocation == utils.EmptyString { // until https://github.com/nyaruka/phonenumbers/issues/100 is fixed
|
||||
var reg language.Region
|
||||
if reg, err = language.ParseRegion(regCode); err != nil {
|
||||
utils.Logger.Warning(fmt.Sprintf("Received error: <%+v> when converting region in GeoLocation for number %+v", err, dDP.pNumber))
|
||||
} else {
|
||||
geoLocation = display.English.Regions().Name(reg)
|
||||
}
|
||||
}
|
||||
val = geoLocation
|
||||
case "Carrier":
|
||||
carrier, err := phonenumbers.GetCarrierForNumber(dDP.pNumber, phonenumbers.GetRegionCodeForNumber(dDP.pNumber))
|
||||
|
||||
Reference in New Issue
Block a user