aboutsummaryrefslogtreecommitdiffstats
path: root/main/callerid.c
diff options
context:
space:
mode:
authorpcadach <pcadach@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-07 14:45:49 +0000
committerpcadach <pcadach@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-07 14:45:49 +0000
commitd2747c97ad264252b06ca01aa67bf314a0f3b822 (patch)
treeedf636fb3b4a73b2530dc5c6d62ceb0427adb945 /main/callerid.c
parente9ae66821f212c77e4b89ff962ef59218666846d (diff)
Extend CALLERID() function for "pres" and "ton" values
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44685 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/callerid.c')
-rw-r--r--main/callerid.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/main/callerid.c b/main/callerid.c
index 98cb7d081..6bb916bf4 100644
--- a/main/callerid.c
+++ b/main/callerid.c
@@ -1048,8 +1048,8 @@ int ast_callerid_split(const char *buf, char *name, int namelen, char *num, int
/*! \brief Translation table for Caller ID Presentation settings */
static struct {
int val;
- char *name;
- char *description;
+ const char *name;
+ const char *description;
} pres_types[] = {
{ AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED, "allowed_not_screened", "Presentation Allowed, Not Screened"},
{ AST_PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN, "allowed_passed_screen", "Presentation Allowed, Passed Screen"},
@@ -1094,3 +1094,19 @@ const char *ast_describe_caller_presentation(int data)
return "unknown";
}
+
+/*! \brief Convert caller ID pres value to text code
+ \param data text string
+ \return string for config file
+*/
+const char *ast_named_caller_presentation(int data)
+{
+ int i;
+
+ for (i = 0; i < ((sizeof(pres_types) / sizeof(pres_types[0]))); i++) {
+ if (pres_types[i].val == data)
+ return pres_types[i].name;
+ }
+
+ return "unknown";
+}