Add new callerpres parsing API (bug #3648)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2005-02-26 07:34:09 +00:00
parent e8b3ac0c6e
commit c96810b9d3
4 changed files with 103 additions and 52 deletions

View File

@@ -190,16 +190,6 @@ static inline float callerid_getcarrier(float *cr, float *ci, int bit)
return *cr;
}
#define AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED 0x00
#define AST_PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN 0x01
#define AST_PRES_ALLOWED_USER_NUMBER_FAILED_SCREEN 0x02
#define AST_PRES_ALLOWED_NETWORK_NUMBER 0x03
#define AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED 0x20
#define AST_PRES_PROHIB_USER_NUMBER_PASSED_SCREEN 0x21
#define AST_PRES_PROHIB_USER_NUMBER_FAILED_SCREEN 0x22
#define AST_PRES_PROHIB_NETWORK_NUMBER 0x23
#define AST_PRES_NUMBER_NOT_AVAILABLE 0x43
#define PUT_BYTE(a) do { \
*(buf++) = (a); \
bytes++; \
@@ -237,5 +227,48 @@ static inline float callerid_getcarrier(float *cr, float *ci, int bit)
PUT_CLID_BAUD(1); /* Stop bit */ \
} while(0);
/* Various defines and bits for handling PRI- and SS7-type restriction */
#define AST_PRES_NUMBER_TYPE 0x03
#define AST_PRES_USER_NUMBER_UNSCREENED 0x00
#define AST_PRES_USER_NUMBER_PASSED_SCREEN 0x01
#define AST_PRES_USER_NUMBER_FAILED_SCREEN 0x02
#define AST_PRES_NETWORK_NUMBER 0x03
#define AST_PRES_RESTRICTION 0x60
#define AST_PRES_ALLOWED 0x00
#define AST_PRES_RESTRICTED 0x20
#define AST_PRES_UNAVAILABLE 0x40
#define AST_PRES_RESERVED 0x60
#define AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED \
AST_PRES_USER_NUMBER_UNSCREENED + AST_PRES_ALLOWED
#define AST_PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN \
AST_PRES_USER_NUMBER_PASSED_SCREEN + AST_PRES_ALLOWED
#define AST_PRES_ALLOWED_USER_NUMBER_FAILED_SCREEN \
AST_PRES_USER_NUMBER_FAILED_SCREEN + AST_PRES_ALLOWED
#define AST_PRES_ALLOWED_NETWORK_NUMBER \
AST_PRES_NETWORK_NUMBER + AST_PRES_ALLOWED
#define AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED \
AST_PRES_USER_NUMBER_UNSCREENED + AST_PRES_RESTRICTED
#define AST_PRES_PROHIB_USER_NUMBER_PASSED_SCREEN \
AST_PRES_USER_NUMBER_PASSED_SCREEN + AST_PRES_RESTRICTED
#define AST_PRES_PROHIB_USER_NUMBER_FAILED_SCREEN \
AST_PRES_USER_NUMBER_FAILED_SCREEN + AST_PRES_RESTRICTED
#define AST_PRES_PROHIB_NETWORK_NUMBER \
AST_PRES_NETWORK_NUMBER + AST_PRES_RESTRICTED
#define AST_PRES_NUMBER_NOT_AVAILABLE \
AST_PRES_NETWORK_NUMBER + AST_PRES_UNAVAILABLE
int ast_parse_caller_presentation(const char *data);
const char *ast_describe_caller_presentation(int data);
#endif