ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | Public Attributes | List of all members
anna::isup_number_t Struct Reference

#include <defines.hpp>

Public Member Functions

bool isOdd ()
 
bool isEven ()
 
bool NatureOfAddress_SubscriberNumber ()
 
bool NatureOfAddress_Unknown ()
 
bool NatureOfAddress_NationalNumber ()
 
bool NatureOfAddress_InternationalNumber ()
 
bool InternalNetworkNumber_RoutingToInternalNetworkNumberAllowed ()
 
bool InternalNetworkNumber_RoutingToInternalNetworkNumberNotAllowed ()
 
bool NumberIncomplete_Complete ()
 
bool NumberIncomplete_Incomplete ()
 
bool NumberingPlan_ISDN ()
 
bool NumberingPlan_Data ()
 
bool NumberingPlan_Telex ()
 
bool AddressPresentationRestricted_PresentationAllowed ()
 
bool AddressPresentationRestricted_PresentationRestricted ()
 
bool AddressPresentationRestricted_AddressNotAvailable ()
 
bool AddressPresentationRestricted_ReservedForRestrictionByTheNetwork ()
 
bool Screening_UserProvidedVerifiedAndPassed ()
 
bool Screening_NetworkProvided ()
 
void reset ()
 
std::string asString (bool calledOrCalling)
 

Public Attributes

short OddEven
 
short NatureOfAddress
 
short InternalNetworkNumber
 
short NumberIncomplete
 
short NumberingPlan
 
short AddressPresentationRestricted
 
short Screening
 
std::string Digits
 

Detailed Description

Struct for called and calling party number from Q763 Signalling System No. 7 – ISDN user part formats and codes

Called Party Number
           8         7         6         5         4         3         2         1
      |------—|------—|------—|------—|------—|------—|------—|------—|
1     |   O/E   |              Nature of address indicator                            |
      |------—|------—|------—|------—|------—|------—|------—|------—|
2     |   INN   |   Numbering plan indicator  |                 spare                 |
      |------—|------—|------—|------—|------—|------—|------—|------—|
3     |          2nd address signal           |           1st address signal          |
      |------—|------—|------—|------—|------—|------—|------—|------—|
     ...       ...       ...       ...       ...       ...       ...       ...       ...
      |------—|------—|------—|------—|------—|------—|------—|------—|
m     |         Filler (if necessary)         |           nth address signal          |
      |------—|------—|------—|------—|------—|------—|------—|------—|
Calling Party Number
           8         7         6         5         4         3         2         1
      |------—|------—|------—|------—|------—|------—|------—|------—|
1     |   O/E   |              Nature of address indicator                            |
      |------—|------—|------—|------—|------—|------—|------—|------—|
2     |   NI    |   Numbering plan indicator  |Add.Pres.Restr.Ind |   Screening Ind   |
      |------—|------—|------—|------—|------—|------—|------—|------—|
3     |          2nd address signal           |           1st address signal          |
      |------—|------—|------—|------—|------—|------—|------—|------—|
     ...       ...       ...       ...       ...       ...       ...       ...       ...
      |------—|------—|------—|------—|------—|------—|------—|------—|
m     |         Filler (if necessary)         |           nth address signal          |
      |------—|------—|------—|------—|------—|------—|------—|------—|
 

Member Function Documentation

◆ AddressPresentationRestricted_AddressNotAvailable()

bool anna::isup_number_t::AddressPresentationRestricted_AddressNotAvailable ( )
inline

Return true when Address Presentation Restricted is 'address not available (Note 1) (national use)'

265 { return (AddressPresentationRestricted == 2); }
short AddressPresentationRestricted
Definition: defines.hpp:258

◆ AddressPresentationRestricted_PresentationAllowed()

bool anna::isup_number_t::AddressPresentationRestricted_PresentationAllowed ( )
inline

Return true when Address Presentation Restricted is 'presentation allowed'

261 { return (AddressPresentationRestricted == 0); }
short AddressPresentationRestricted
Definition: defines.hpp:258

◆ AddressPresentationRestricted_PresentationRestricted()

bool anna::isup_number_t::AddressPresentationRestricted_PresentationRestricted ( )
inline

Return true when Address Presentation Restricted is 'presentation restricted'

263 { return (AddressPresentationRestricted == 1); }
short AddressPresentationRestricted
Definition: defines.hpp:258

◆ AddressPresentationRestricted_ReservedForRestrictionByTheNetwork()

bool anna::isup_number_t::AddressPresentationRestricted_ReservedForRestrictionByTheNetwork ( )
inline

Return true when Address Presentation Restricted is 'reserved for restriction by the network'

267 { return (AddressPresentationRestricted == 3); }
short AddressPresentationRestricted
Definition: defines.hpp:258

◆ asString()

std::string anna::isup_number_t::asString ( bool  calledOrCalling)
inline

Class string representation

Parameters
calledOrCallingBoolean about being called party number or calling one
Returns
String with class content
334  {
335  std::string result;
336  char aux [16];
337  result = "OddEven: ";
338  sprintf(aux, "%d", OddEven); result += std::string(aux);
339  result += " | NatureOfAddress: ";
340 
341  if(calledOrCalling) {
342  sprintf(aux, "%d", NatureOfAddress); result += std::string(aux);
343  result += " | InternalNetworkNumber: ";
344  } else {
345  sprintf(aux, "%d", InternalNetworkNumber); result += std::string(aux);
346  result += " | NumberIncomplete: ";
347  }
348 
349  sprintf(aux, "%d", NumberIncomplete); result += std::string(aux);
350  result += " | NumberingPlan: ";
351  sprintf(aux, "%d", NumberingPlan); result += std::string(aux);
352 
353  if(!calledOrCalling) {
354  result += " | AddressPresentationRestricted: ";
355  sprintf(aux, "%d", AddressPresentationRestricted); result += std::string(aux);
356  result += " | Screening: ";
357  sprintf(aux, "%d", Screening); result += std::string(aux);
358  }
359 
360  result += " | Digits: ";
361  result += (Digits != "") ? Digits : "<null>";
362  return result;
363  }
short AddressPresentationRestricted
Definition: defines.hpp:258
short InternalNetworkNumber
Definition: defines.hpp:203
std::string Digits
Definition: defines.hpp:314
short NumberIncomplete
Definition: defines.hpp:217
short OddEven
Definition: defines.hpp:154
short NumberingPlan
Definition: defines.hpp:237
short NatureOfAddress
Definition: defines.hpp:185
short Screening
Definition: defines.hpp:280

◆ InternalNetworkNumber_RoutingToInternalNetworkNumberAllowed()

bool anna::isup_number_t::InternalNetworkNumber_RoutingToInternalNetworkNumberAllowed ( )
inline

Return true when Internal Network Number Indicator is 'routing to internal network number allowed'

206 { return (InternalNetworkNumber == 0); }
short InternalNetworkNumber
Definition: defines.hpp:203

◆ InternalNetworkNumber_RoutingToInternalNetworkNumberNotAllowed()

bool anna::isup_number_t::InternalNetworkNumber_RoutingToInternalNetworkNumberNotAllowed ( )
inline

Return true when Internal Network Number Indicator is 'routing to internal network number not allowed'

208 { return (InternalNetworkNumber == 1); }
short InternalNetworkNumber
Definition: defines.hpp:203

◆ isEven()

bool anna::isup_number_t::isEven ( )
inline

Return true when have even number of digits

159 { return !isOdd(); }
bool isOdd()
Definition: defines.hpp:157

◆ isOdd()

bool anna::isup_number_t::isOdd ( )
inline

Return true when have odd number of digits

157 { return OddEven; }
short OddEven
Definition: defines.hpp:154

◆ NatureOfAddress_InternationalNumber()

bool anna::isup_number_t::NatureOfAddress_InternationalNumber ( )
inline

Return true when Nature Of Address is 'international number'

194 { return (NatureOfAddress == 4); }
short NatureOfAddress
Definition: defines.hpp:185

◆ NatureOfAddress_NationalNumber()

bool anna::isup_number_t::NatureOfAddress_NationalNumber ( )
inline

Return true when Nature Of Address is 'national (significant) number (national use)'

192 { return (NatureOfAddress == 3); }
short NatureOfAddress
Definition: defines.hpp:185

◆ NatureOfAddress_SubscriberNumber()

bool anna::isup_number_t::NatureOfAddress_SubscriberNumber ( )
inline

Return true when Nature Of Address is 'subscriber number (national use)'

188 { return (NatureOfAddress == 1); }
short NatureOfAddress
Definition: defines.hpp:185

◆ NatureOfAddress_Unknown()

bool anna::isup_number_t::NatureOfAddress_Unknown ( )
inline

Return true when Nature Of Address is 'unknown (national use)'

190 { return (NatureOfAddress == 2); }
short NatureOfAddress
Definition: defines.hpp:185

◆ NumberIncomplete_Complete()

bool anna::isup_number_t::NumberIncomplete_Complete ( )
inline

Return true when Number Incomplete Indicator is 'complete'

220 { return (NumberIncomplete == 0); }
short NumberIncomplete
Definition: defines.hpp:217

◆ NumberIncomplete_Incomplete()

bool anna::isup_number_t::NumberIncomplete_Incomplete ( )
inline

Return true when Number Incomplete Indicator is 'incomplete'

222 { return (NumberIncomplete == 1); }
short NumberIncomplete
Definition: defines.hpp:217

◆ NumberingPlan_Data()

bool anna::isup_number_t::NumberingPlan_Data ( )
inline

Return true when Numbering Plan is 'Data numbering plan (ITU-T Recommendation X.121) (national use)'

242 { return (NumberingPlan == 3); }
short NumberingPlan
Definition: defines.hpp:237

◆ NumberingPlan_ISDN()

bool anna::isup_number_t::NumberingPlan_ISDN ( )
inline

Return true when Numbering Plan is 'ISDN (Telephony) numbering plan (ITU-T Recommendation E.164)'

240 { return (NumberingPlan == 1); }
short NumberingPlan
Definition: defines.hpp:237

◆ NumberingPlan_Telex()

bool anna::isup_number_t::NumberingPlan_Telex ( )
inline

Return true when Numbering Plan is 'Telex numbering plan (ITU-T Recommendation F.69) (national use)'

244 { return (NumberingPlan == 4); }
short NumberingPlan
Definition: defines.hpp:237

◆ reset()

void anna::isup_number_t::reset ( )
inline
316  {
317  OddEven = 0;
318  NatureOfAddress = 0;
320  NumberIncomplete = 0;
321  NumberingPlan = 0;
323  Screening = 0;
324  Digits = "";
325  }
short AddressPresentationRestricted
Definition: defines.hpp:258
short InternalNetworkNumber
Definition: defines.hpp:203
std::string Digits
Definition: defines.hpp:314
short NumberIncomplete
Definition: defines.hpp:217
short OddEven
Definition: defines.hpp:154
short NumberingPlan
Definition: defines.hpp:237
short NatureOfAddress
Definition: defines.hpp:185
short Screening
Definition: defines.hpp:280

◆ Screening_NetworkProvided()

bool anna::isup_number_t::Screening_NetworkProvided ( )
inline

Return true when Screening is 'network provided'

285 { return (Screening == 3); }
short Screening
Definition: defines.hpp:280

◆ Screening_UserProvidedVerifiedAndPassed()

bool anna::isup_number_t::Screening_UserProvidedVerifiedAndPassed ( )
inline

Return true when Screening is 'user provided, verified and passed'

283 { return (Screening == 1); }
short Screening
Definition: defines.hpp:280

Member Data Documentation

◆ AddressPresentationRestricted

short anna::isup_number_t::AddressPresentationRestricted
Address presentation restricted indicator (only for calling party number)
0 0 presentation allowed
0 1 presentation restricted
1 0 address not available (Note 1) (national use)
1 1 reserved for restriction by the network
NOTE 1 – If the parameter is included and the address presentation restricted indicator indicates
address not available, octets 3 to n are omitted, the subfields in items 'OddEven', 'NatureOfAddress',
'NumberIncomplete' and 'NumberingPlan' are coded with 0's, and the subfield 'Screening' is coded with 11.

◆ Digits

std::string anna::isup_number_t::Digits
BCD digit
Address signal
0 0 0 0 digit 0
0 0 0 1 digit 1
0 0 1 0 digit 2
0 0 1 1 digit 3
0 1 0 0 digit 4
0 1 0 1 digit 5
0 1 1 0 digit 6
0 1 1 1 digit 7
1 0 0 0 digit 8
1 0 0 1 digit 9
1 0 1 0 spare
1 0 1 1 code 11
1 1 0 0 code 12
1 1 0 1 spare
1 1 1 0 spare
1 1 1 1 ST (for called party number, spare in calling party number)
The most significant address signal is sent first. Subsequent address signals are sent in
successive 4-bit fields.
Filler: In case of an odd number of address signals, the filler code 0000 is inserted after the last
        address signal.

◆ InternalNetworkNumber

short anna::isup_number_t::InternalNetworkNumber
Internal Network Number indicator (INN) (only for called party number)
0 routing to internal network number allowed
1 routing to internal network number not allowed

◆ NatureOfAddress

short anna::isup_number_t::NatureOfAddress
  Nature of address indicator
  0 0 0 0 0 0 0 spare
  0 0 0 0 0 0 1 subscriber number (national use)
  0 0 0 0 0 1 0 unknown (national use)
  0 0 0 0 0 1 1 national (significant) number (national use)
  0 0 0 0 1 0 0 international number
Called:
  0 0 0 0 1 0 1 network-specific number (national use) ITU-T Q.763 (12/1999) 23
  0 0 0 0 1 1 0 network routing number in national (significant) number format (national use)
  0 0 0 0 1 1 1 network routing number in network-specific number format (national use)
  0 0 0 1 0 0 0 network routing number concatenated with Called Directory Number (national use)
  1 1 0 1 1 1 1 to 0 0 0 1 0 0 1 spare
  1 1 1 1 1 1 0 to 1 1 1 0 0 0 0 reserved for national use
  1 1 1 1 1 1 1 spare
Calling:
  0 0 0 0 1 1 0 to 1 1 0 1 1 1 1 spare
  1 1 1 0 0 0 0 to 1 1 1 1 1 1 0 reserved for national use
  1 1 1 1 1 1 1 spare
  

◆ NumberIncomplete

short anna::isup_number_t::NumberIncomplete
Number Incomplete indicator (NI) (only for calling party number)
0 complete
1 incomplete

◆ NumberingPlan

short anna::isup_number_t::NumberingPlan
Numbering plan indicator
0 0 0 spare
0 0 1 ISDN (Telephony) numbering plan (ITU-T Recommendation E.164)
0 1 0 spare
0 1 1 Data numbering plan (ITU-T Recommendation X.121) (national use)
1 0 0 Telex numbering plan (ITU-T Recommendation F.69) (national use)
1 0 1 reserved for national use
1 1 0 reserved for national use
1 1 1 spare

◆ OddEven

short anna::isup_number_t::OddEven

odd/even (1/0) indicator

◆ Screening

short anna::isup_number_t::Screening
Screening indicator (only for calling party number)
0 0 reserved (Note 2)
0 1 user provided, verified and passed
1 0 reserved (Note 2)
1 1 network provided
NOTE 2 – Code 00 and 10 are reserved for "user provided, not verified" and "user provided, verified
and failed" respectively. Codes 00 and 10 are for national use.

The documentation for this struct was generated from the following file: