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