ELFÐ4P4 p´´´BBBBB¿ìÌÌÌóô ²°ÂJX < @0¼$  œ ÀB„¸ppp ppQppþÿÿodÿÿÿoðÿÿoÀ CQ+97 (.E)N#"04%*,D53O:K!$C2?PJ<F'/L-1&G>=68M@;BAHI<Ð - @0  0 B BBB B`BÀCÐCi`B°Âñÿp°Âñÿ<bÐ {ÄCñÿ&@0 tÄCñÿÀBñÿðCñÿ‡ÄCñÿ 08Í0i +04ð/ÿà/äwÐ/ “À/Û°/# //ä€/…p/´#`/šðP/, @/®0/} / /é/Uð.à.DŒÐ.µÀ.h°.F ..9€.àp.`.yP.;"d@.Æ0.ó .pJ.Ë.¢ð-šà-,"~Ð-4ÀÀ-;°-´ --S"n€-@Ýp-¸`-üP-e@-÷0-! -©-_GLOBAL_OFFSET_TABLE__init_gp_disp_fini__cxa_finalize__deregister_frame_info__register_frame_info_Jv_RegisterClassesast_module_unregisterast_unregister_application__ast_module_user_hangup_allast_register_applicationast_walk_context_extensionsast_get_extension_nameast_extension_matchast_get_extension_matchcidast_walk_extension_prioritiesast_get_extension_priorityast_get_extension_cidmatchast_walk_context_includesast_walk_contextsast_get_context_nameast_get_include_namestrcmpast_module_registermemsetast_logsscanfpbx_builtin_getvar_helperpbx_builtin_setvar_helper__ast_module_user_removesnprintfstrlenmemcpystrsepast_autoservice_startast_context_lockmacroast_autoservice_stopast_copy_string_ast_strdupast_unlock_contextast_exists_extensionast_lock_contextsast_lock_contextast_get_extension_appast_get_extension_app_dataast_unlock_contextsast_spawn_extensionoption_debugoption_verboseast_verbosestrcasecmppbx_substitute_variables_helperpbx_checkconditionstrncasecmpstrchrfreeast_context_unlockmacro__ast_module_user_addast_context_findlibgcc_s.so.1libc.so.0_ftext_fdata_gp_edata__bss_start_fbss_endGLIBC_2.0Jii ’ÀC`BBBtB|B€B„BˆB B$B(B,B0B4B8B?macroname_a[|arg1][:macroname_b[|arg1]]) Executes macro defined in if is true (otherwise if provided) Arguments and return values as in application macro() Exclusive Macro Implementation MacroExclusive(macroname|arg1|arg2...): Executes macro defined in the context 'macro-macroname' Only one call at a time may run the macro. (we'll wait if another call is busy executing in the Macro) Arguments and return values as in application Macro() Macro(macroname|arg1|arg2...): Executes a macro using the context 'macro-', jumping to the 's' extension of that context and executing each step, then returning when the steps end. The calling extension, context, and priority are stored in ${MACRO_EXTEN}, ${MACRO_CONTEXT} and ${MACRO_PRIORITY} respectively. Arguments become ${ARG1}, ${ARG2}, etc in the macro context. If you Goto out of the Macro context, the Macro will terminate and control will be returned at the location of the Goto. If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise. Extensions: While a macro is being executed, it becomes the current context. This means that if a hangup occurs, for instance, that the macro will be searched for an 'h' extension, NOT the context from which the macro was called. So, make sure to define all appropriate extensions in your macro! (you can use 'catch' in AEL) WARNING: Because of the way Macro is implemented (it executes the priorities contained within it via sub-engine), and a fixed per-thread memory stack allowance, macros are limited to 7 levels of nesting (macro calling macro calling macro, etc.); It may be possible that stack-intensive applications in deeply nested macros could cause asterisk to crash earlier than this limit. _macro_execmacroif_execÿÿÿÿÀÿÿÿÿH88$8,8pB<8L8 909:$:9$;B,d¨5´5È5f450f61f60e761b3aa089ebed76ca8a5€ÀC 000ð/à/Ð/À/°/ //€/p/`/P/@/0/ ///ð.à.Ð.À.°. ..€.p.`.P.@.0. ...ð-à-Ð-À-°- --€-p-`-P-@-0- --ÀC