diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-02-26 07:34:09 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-02-26 07:34:09 +0000 |
commit | f82ee2792834df8058f8adaae73b26803f789584 (patch) | |
tree | 84cf0173c7d7ad0e32cae89bb74d08e960a31882 /include/asterisk/callerid.h | |
parent | 94ab7ec60be4cc4005e5324a537726efb36e0f03 (diff) |
Add new callerpres parsing API (bug #3648)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5086 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/callerid.h')
-rwxr-xr-x | include/asterisk/callerid.h | 53 |
1 files changed, 43 insertions, 10 deletions
diff --git a/include/asterisk/callerid.h b/include/asterisk/callerid.h index 15497be8b..ce3387915 100755 --- a/include/asterisk/callerid.h +++ b/include/asterisk/callerid.h @@ -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 |