It seems to be a bug in transactionlayer.erl, function 
from_transportlayer_response_no_transaction/3 should return
continue | {pass_to_core, AppModule, YxaCtx}
instead of
continue | {pass_to_core, AppModule}
Otherwise we got case clause exception in sipserver:my_apply/3 where 
transactionlayer:from_transportlayer/2 is called...

Here is proposed patch:
--- src/transactionlayer/transactionlayer.erl.orig      2006-12-05 
03:34:16.000000000 -0500
+++ src/transactionlayer/transactionlayer.erl   2006-12-08 
11:28:45.515354179 -0500
@@ -1043,7 +1043,7 @@
  %%           YxaCtx   = yxa_ctx record()
  %% Descrip.: The transport layer passes us a response it has just
  %%           received.
-%% Returns : {pass_to_core, AppModule} |
+%% Returns : {pass_to_core, AppModule, NewYxaCtx} |
  %%           continue
  %%           AppModule = atom(), YXA application module name
  %%--------------------------------------------------------------------
@@ -1063,7 +1063,7 @@
      end.

  %% part of from_transportlayer/1
-%% Returns : continue | {pass_to_core, AppModule}
+%% Returns : continue | {pass_to_core, AppModule, NewYxaCtx}
  from_transportlayer_response_no_transaction(Method, Response, _YxaCtx) 
when is_list(Method), Method /= "INVITE" ->
      %% RFC4320 #4.2 (Action 2)
      %% A transaction-stateful SIP proxy MUST NOT send any response to a
@@ -1084,7 +1084,7 @@
         nomatch ->
             logger:log(debug, "Transaction layer: No state for received 
response '~p ~s', "
                        "passing to ~p:response(...).", [Status, Reason, 
AppModule]),
-           {pass_to_core, AppModule};
+           {pass_to_core, AppModule, YxaCtx};
         DCPid when is_pid(DCPid) ->
             case is_process_alive(DCPid) of
                 true ->


Fredrik Thulin wrote:
> This is hopefully the last snapshot before YXA 1.0.
> 
> Changes since snapshot 2006-09-22 :
> 
> * Move to Erlang/OTP R11B-2.
> 
> * Fix all anomalies reported by (patched) Dialyzer from R11B-2.
> 
> * Made the SIP DNS implementation in sipdst.erl RFC3263 compliant. This
>    might hurt you if you have phones that only do UDP (and therefor
>    suck). You might need to work around their lack of functionality by
>    setting udp_max_datagram_size to something larger than your MTU (like
>    3072 or similar).
> 
> * Changed the API for YXA applications request- and response functions
>    (see separate mail to yxa-devel mailing list).
> 
> * Imported latest eldap (LDAP client) from jungerl, and improved the way
>    we try to reconnect when LDAP connections fails.
> 
> * Various updates to the new eventserver after having interop-tested it
>    at SIPit 19. Presence works with some clients and a bit of luck now.
>    Both presence and dialog event packages are still experimental.
> 
> * Made Outbound registrations work over UDP too (was buggy).
> 
> * Introduced configuration validation types 'tuple' and '{tuple, Arity}'
> 
> * Got rid of lots of 'magic tuples' in the transport layer.
> 
> * Made logging more configurable. Based on patch by Serge Aleynikov.
> 
> * Added hook for possible modification of request/destination between
>    YXA applications and sippipe.
> 
> * Introduce yxa_test_config making it possible to supply 'fake'
>    configuration in unit tests.
> 
> * Implement sipuserdb_test backend for use in unit tests.
> 
> * Rewrote most of pstnproxy, and added tests covering much larger parts
>    of the applications logic than was possible before yxa_test_config and
>    sipuserdb_test.
> 
> * Made it possible to override the IP address detection code with the
>    configuration parameter 'myips'.
> 
> 
> plus bug fixes and assorted added test cases.
> 
> 
> MD5 :
> 
> f34bddd0fc3eb944dc544064f12911d8  yxa-2006-12-05.tar.gz
> 
> SHA1 :
> 
> 70ab1998c2ddad7c2aa789e35545025f7c31cb32  yxa-2006-12-05.tar.gz
> 
> 
> 
> /Fredrik
> _______________________________________________
> Yxa-devel mailing list
> Yxa-devel@lists.su.se
> https://lists.su.se/mailman/listinfo/yxa-devel
> 
_______________________________________________
Yxa-devel mailing list
Yxa-devel@lists.su.se
https://lists.su.se/mailman/listinfo/yxa-devel

Reply via email to