91{
   92    int res=0;
   93    int retries;
   95    int minlength = 10;
   96    int x = 0;
  104    );
  105 
  108        ast_verb(3, 
"CallerID number present: Skipping\n");
 
  109    } else {
  110        
  113                return -1;
  114            }
  115        }
  116 
  118 
  120 
  122            if (sscanf(
args.maxretries, 
"%30d", &x) == 1 && x > 0) {
 
  124            } else {
  126            }
  127        }
  129            if (sscanf(
args.minlength, 
"%30d", &x) == 1 && x > 0) {
 
  130                minlength = x;
  131            } else {
  133            }
  134        }
  135 
  136        
  138        if (!res) {
  140        }
  141        if (!res) {
  143        }
  144 
  145        
  146        for (retries = 0; retries < 
maxretries; retries++) {
 
  147            if (!res) {
  149            }
  150            if (!res) {
  152            }
  153 
  154            if (!res) {
  156            }
  157 
  158            if (res < 0) {
  159                break;
  160            }
  161 
  162            
  163            if (strlen(
phone) >= minlength ) {
 
  164                
  168                        if (!res) {
  170                        }
  171                    } else {
  172                        break;
  173                    }
  174                } else {
  175                    break;
  176                }
  177            } else {
  179                if (!res) {
  181                }
  182            }
  183        }
  184 
  185        
  188            if (!res) {
  190            }
  191 
  192            
  193
  194
  195
  196
  197
  201 
  203 
  205 
  207        } else {
  209        }
  210    }
  211 
  212    return 0;
  213}
#define ast_strdupa(s)
duplicate a string in memory from the stack
#define AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED
void ast_set_callerid(struct ast_channel *chan, const char *cid_num, const char *cid_name, const char *cid_ani)
Set caller ID number, name and ANI and generate AMI event.
const char * ast_channel_language(const struct ast_channel *chan)
struct ast_party_caller * ast_channel_caller(struct ast_channel *chan)
int ast_readstring(struct ast_channel *c, char *s, int len, int timeout, int rtimeout, char *enders)
Reads multiple digits.
int ast_answer(struct ast_channel *chan)
Answer a channel.
int ast_safe_sleep(struct ast_channel *chan, int ms)
Wait for a specified amount of time, looking for hangups.
ast_channel_state
ast_channel states
int ast_streamfile(struct ast_channel *c, const char *filename, const char *preflang)
Streams a file.
int ast_waitstream(struct ast_channel *c, const char *breakon)
Waits for a stream to stop or digit to be pressed.
#define AST_APP_ARG(name)
Define an application argument.
#define AST_DECLARE_APP_ARGS(name, arglist)
Declare a structure to hold an application's arguments.
#define AST_STANDARD_APP_ARGS(args, parse)
Performs the 'standard' argument separation process for an application.
#define ast_verb(level,...)
int ast_exists_extension(struct ast_channel *c, const char *context, const char *exten, int priority, const char *callerid)
Determine whether an extension exists.
int pbx_builtin_setvar_helper(struct ast_channel *chan, const char *name, const char *value)
Add a variable to the channel variable stack, removing the most recently set value for the same name.
static force_inline int attribute_pure ast_strlen_zero(const char *s)
struct ast_party_id id
Caller party ID.
struct ast_party_name name
Subscriber name.
struct ast_party_number number
Subscriber phone number.
int presentation
Q.931 encoded presentation-indicator encoded field.
int presentation
Q.931 presentation-indicator and screening-indicator encoded fields.
unsigned char valid
TRUE if the number information is valid/present.
int plan
Q.931 Type-Of-Number and Numbering-Plan encoded fields.