diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index ace498286b4dcf893cbbbdae425a58f232d1f5c8..5a13957ae302a7d27d7324011d767c3ff87f9942 100644
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -80,7 +80,7 @@ struct ast_ivr_menu {
 
 /*!	\brief Runs an IVR menu 
 	\return returns 0 on successful completion, -1 on hangup, or -2 on user error in menu */
-extern int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
+int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
 
 /*! \brief Plays a stream and gets DTMF data from a channel 
  * \param c Which channel one is interacting with
@@ -94,10 +94,10 @@ extern int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, vo
  *  is pressed during playback, it will immediately break out of the message and continue
  *  execution of your code.
  */
-extern int ast_app_getdata(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout);
+int ast_app_getdata(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout);
 
 /*! \brief Full version with audiofd and controlfd.  NOTE: returns '2' on ctrlfd available, not '1' like other full functions */
-extern int ast_app_getdata_full(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout, int audiofd, int ctrlfd);
+int ast_app_getdata_full(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout, int audiofd, int ctrlfd);
 
 /*! Record voice (after playing prompt if specified), waiting for silence (in ms) up to a given timeout (in s) or '#' */
 int ast_app_getvoice(struct ast_channel *c, char *dest, char *dstfmt, char *prompt, int silence, int maxsec);
@@ -116,7 +116,7 @@ int ast_app_messagecount(const char *mailbox, int *newmsgs, int *oldmsgs);
 /*! Safely spawn an external program while closing file descriptors 
 	\note This replaces the \b system call in all Asterisk modules
 */
-extern int ast_safe_system(const char *s);
+int ast_safe_system(const char *s);
 
 /*!
   \brief Send DTMF to a channel
diff --git a/include/asterisk/features.h b/include/asterisk/features.h
index ffea39d2a5223a667b5c3fe4abc21f1486816d4d..2fb9e7a2bbdc1880c01437642e63de1add0d6a7e 100644
--- a/include/asterisk/features.h
+++ b/include/asterisk/features.h
@@ -56,7 +56,7 @@ struct ast_call_feature {
 	\param timeout is a timeout in milliseconds
 	\param extout is a parameter to an int that will hold the parked location, or NULL if you want
 */
-extern int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int timeout, int *extout);
+int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int timeout, int *extout);
 
 /*! \brief Park a call via a masqueraded channel
  *  \param rchan the real channel to be parked
@@ -66,30 +66,30 @@ extern int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int
 	\param timeout is a timeout in milliseconds
 	\param extout is a parameter to an int that will hold the parked location, or NULL if you want
 */
-extern int ast_masq_park_call(struct ast_channel *rchan, struct ast_channel *host, int timeout, int *extout);
+int ast_masq_park_call(struct ast_channel *rchan, struct ast_channel *host, int timeout, int *extout);
 
 /*! \brief Determine system parking extension
  *  Returns the call parking extension for drivers that provide special
     call parking help */
-extern char *ast_parking_ext(void);
+char *ast_parking_ext(void);
 
 /*! \brief Determine system call pickup extension */
-extern char *ast_pickup_ext(void);
+char *ast_pickup_ext(void);
 
 /*! \brief Bridge a call, optionally allowing redirection */
-extern int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct ast_bridge_config *config);
+int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct ast_bridge_config *config);
 
 /*! \brief Pickup a call */
-extern int ast_pickup_call(struct ast_channel *chan);
+int ast_pickup_call(struct ast_channel *chan);
 
 /*! \brief register new feature into feature_set 
    \param feature an ast_call_feature object which contains a keysequence
    and a callback function which is called when this keysequence is pressed
    during a call. */
-extern void ast_register_feature(struct ast_call_feature *feature);
+void ast_register_feature(struct ast_call_feature *feature);
 
 /*! \brief unregister feature from feature_set
     \param feature the ast_call_feature object which was registered before*/
-extern void ast_unregister_feature(struct ast_call_feature *feature);
+void ast_unregister_feature(struct ast_call_feature *feature);
 
 #endif /* _AST_FEATURES_H */