anchor.diff:  gen_addr_helper(Number, Pc) when is_list(Number) ->
   	Gt = gen_gt_helper(Number),
   	gen_addr_helper(Gt, Pc).
  +
  +opt_to_atom(Num) ->
  +	case Num of
  +		?SCCP_PNC_DESTINATION_LOCAL_REFERENCE -> dst_local_ref;
  +		?SCCP_PNC_SOURCE_LOCAL_REFERENCE ->	src_local_ref;
  +		?SCCP_PNC_CALLED_PARTY_ADDRESS ->	called_party_addr;
  +		?SCCP_PNC_CALLING_PARTY_ADDRESS ->	calling_party_addr;
  +		?SCCP_PNC_PROTOCOL_CLASS ->		protocol_class;
  +		?SCCP_PNC_SEGMENTING ->			segmenting;
  +		?SCCP_PNC_RECEIVE_SEQ_NUMBER ->		rx_seq_number;
  +		?SCCP_PNC_SEQUENCING ->			seq_segm;
  +		?SCCP_PNC_CREDIT ->			credit;
  +		?SCCP_PNC_RELEASE_CAUSE ->		release_cause;
  +		?SCCP_PNC_RETURN_CAUSE ->		return_cause;
  +		?SCCP_PNC_RESET_CAUSE ->		reset_cause;
  +		?SCCP_PNC_ERROR_CAUSE ->		error_cause;
  +		?SCCP_PNC_REFUSAL_CAUSE ->		refusal_cause;
  +		?SCCP_PNC_DATA ->			user_data;
  +		?SCCP_PNC_SEGMENTATION ->		segmentation;
  +		?SCCP_PNC_HOP_COUNTER ->		hop_counter;
  +		?SCCP_PNC_IMPORTANCE ->			importance;
  +		?SCCP_PNC_LONG_DATA ->			long_data;
  +		Foo -> Foo
  +	end.
  +
  +atom_to_opt(Atom) ->
  +	case Atom of
  +		dst_local_ref	-> ?SCCP_PNC_DESTINATION_LOCAL_REFERENCE;
  +		src_local_ref	-> ?SCCP_PNC_SOURCE_LOCAL_REFERENCE;
  +		called_party_addr  -> ?SCCP_PNC_CALLED_PARTY_ADDRESS;
  +		calling_party_addr -> ?SCCP_PNC_CALLING_PARTY_ADDRESS;
  +		protocol_class	-> ?SCCP_PNC_PROTOCOL_CLASS;
  +		segmenting	-> ?SCCP_PNC_SEGMENTING;
  +		rx_seq_number	-> ?SCCP_PNC_RECEIVE_SEQ_NUMBER;
  +		seq_segm	-> ?SCCP_PNC_SEQUENCING;
  +		credit		-> ?SCCP_PNC_CREDIT;
  +		release_cause	-> ?SCCP_PNC_RELEASE_CAUSE;
  +		return_cause	-> ?SCCP_PNC_RETURN_CAUSE;
  +		reset_cause	-> ?SCCP_PNC_RESET_CAUSE;
  +		error_cause	-> ?SCCP_PNC_ERROR_CAUSE;
  +		refusal_cause	-> ?SCCP_PNC_REFUSAL_CAUSE;
  +		user_data	-> ?SCCP_PNC_DATA;
  +		segmentation	-> ?SCCP_PNC_SEGMENTATION;
  +		hop_counter	-> ?SCCP_PNC_HOP_COUNTER;
  +		importance	-> ?SCCP_PNC_IMPORTANCE;
  +		long_data	-> ?SCCP_PNC_LONG_DATA;
  +		Foo		-> Foo
  +	end.
  
positive.code: 		   point_code = OptPC, ssn = OptSSN, global_title = OptGT}.
  
  % parse SCCP Optional Part
  parse_sccp_opt(OptType, OptLen, Content) ->
  	{OptType, {OptLen, Content}}.
  
  parse_sccp_opts(<<>>, OptList) ->
  	% empty list
  
negative.code: 	<<OptType, OptLen, Content:OptLen/binary, Remain/binary>> = OptBin,
  	NewOpt = parse_sccp_opt(OptType, OptLen, Content),
  	parse_sccp_opts(Remain, [NewOpt|OptList]).
  
  
  % Parse incoming SCCP message, one function for every message type
  parse_sccp_msgt(?SCCP_MSGT_CR, DataBin) ->
  