I finally reached a point where I _had_ to change the YXA application 
API. To upgrade the draft-Oubound support to the latest version I needed 
to pass more information from the SIP stack to the application than was 
currently possible, but to avoid changing the API again if a similar 
situation arises I introduced a record called 'yxa_ctx'.

This record now holds the old LogStr and Origin parameters, so if you 
don't want to change anything else, just change

request(Request, Origin, LogStr) ->

request(Request, YxaCtx) ->
    Origin = YxaCtx#yxa_ctx.origin,
    LogStr = YxaCtx#yxa_ctx.logstr,

and in the same way for response/3 that became response/2.

The good thing is that this resulted in a whole _lot_ of functions that 
now have much fewer arguments being passed to them. Easier to maintain 
means fewer bugs.


Yxa-devel mailing list

Reply via email to