anchor.diff:  %%           Res = term(), result of apply() but typically a
   %%                         sipsocket record()
   %%--------------------------------------------------------------------
  -get_socket(Module, Proto, Host, Port) when atom(Module), atom(Proto), list(Port) ->
  -    get_socket(Module, Proto, Host, list_to_integer(Port));
  -get_socket(Module, Proto, Host, Port) when atom(Module), atom(Proto) ->
  -    apply(Module, get_socket, [Proto, Host, Port]).
  +get_socket(Module, Proto, Host, Port) when is_atom(Module), is_atom(Proto), is_integer(Port) ->
  +    Module:get_socket(Proto, Host, Port).
   
   %%--------------------------------------------------------------------
   %% Function: is_reliable_transport(Socket)
  
positive.code: %%%-------------------------------------------------------------------
  %%% File    : sipsocket.erl
  %%% Author  : Fredrik Thulin <ft@it.su.se>
  %%% Description : Transport layer processes supervisor.
  %%%
  %%% Created : 21 Mar 2004 by Fredrik Thulin <ft@it.su.se>
  %%%-------------------------------------------------------------------
  
negative.code: viaproto2proto("SIP/2.0/TLS") -> tls;
  viaproto2proto("SIP/2.0/UDP") -> udp.
  
  is_good_socket(Socket) when is_record(Socket, sipsocket) ->
      case util:safe_is_process_alive(Socket#sipsocket.pid) of
  	{true, _} ->
  	    true;
  