anchor.diff:  
   
   %% @private
  -callbacks_syntax([{Fun, Arity}|Rest], Mod, Dict) ->
  +plugin_callbacks_syntax([{Fun, Arity}|Rest], Mod, Dict) ->
       case dict:find({Fun, Arity}, Dict) of
           error ->
               Pos = 1,
  
positive.code:         Opts1 = parse_opts(Opts, []),
          Cache = cache_syntax(Opts1),
          Plugins = nksip_lib:get_value(plugins, Opts1, []),
          Callbacks = callbacks_syntax(Plugins),
          AppName = nksip_lib:get_value(name, Opts1, nksip),
          AppId = nksip_sipapp_srv:get_appid(AppName),
          Module = nksip_lib:get_value(module, Opts1, nksip_sipapp),
          PluginMods = [
              list_to_atom(atom_to_list(Plugin) ++ "_sipapp")
              || Plugin <- Plugins
          ],
          AppCallbacks = get_all_app_callbacks([Module|PluginMods++[nksip_sipapp]]),
          SipApp = [
              nksip_code_util:callback_expr(Mod, Fun, Arity)
              || {{Fun, Arity}, Mod} <- AppCallbacks
          ],
          Syntax = Cache ++ SipApp ++ Callbacks,
          ok = nksip_code_util:compile(AppId, Syntax),
          {ok, AppId} 
      catch
  
negative.code:     Acc.
  
  
  
  
  
  
  
  
  
  
  