anchor.diff:  proto2module(udp)  -> sipsocket_udp;
   proto2module(udp6) -> sipsocket_udp.
       
  -proto2viastr(Socket) when record(Socket, sipsocket) ->
  +proto2viastr(Socket) when is_record(Socket, sipsocket) ->
       proto2viastr(Socket#sipsocket.proto);
   proto2viastr(tcp)  -> "SIP/2.0/TCP";
   proto2viastr(tcp6) -> "SIP/2.0/TCP";
  
positive.code: %%           Res = term(), result of apply() but typically
  %%                         true | false
  %%--------------------------------------------------------------------
  is_reliable_transport(Socket) when record(Socket, sipsocket) ->
      apply(Socket#sipsocket.module, is_reliable_transport, [Socket]).
  
  proto2module(tcp)  -> sipsocket_tcp;
  
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;
  