< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] Exchanging INFO messages with DUM


On 9/7/05, Jason Fischl <jason@xxxxxxxxxxx> wrote:
On 9/7/05, Alan Stokes <alan@xxxxxxxxxxxxxxxxx> wrote:
>  However, how can I send a response message to an INFO? I can see
> InviteSession::acceptInfo (and rejectInfo), but they only parameter they
> accept is a status code. I'd like to be able to send a response to an INFO
> with more information in the message (specifically I'd like to attach a body
> to the message). Is there any way I can do that?
>

I believe you use DialogUsageManager::setOutgoingMessageInterceptor to
do this. Basically this installs a "Feature" to run on any message
before it gets sent. You can do whatever you want here. Can somebody
else provide more details on how this works - possibly an example.

 
I don't think setOutgoingMessageInterceptor does the job for me. It's not called on any message with a transaction ID (see DialogUsageManager::outgoingProcess, around line 770) - which means I don't really see any messages at all. Is that intentional?

I'm having a look at using the OutgoingFeatureList, but it's a bit hard to make that do what I want (and a bit hard to get my head round anyway). It's geared up to do per-session things, but I want per-message processing, and only for some messages. For instance it would be difficult for me to know when to return ChainDone, and if I don't then I think there's a leak. (I can't see any code that empties out the mOutgoingFeatureChainMap for a Transaction ID when the transaction ends.)

The easiest option from my point of view would be to add a new function to InviteSession that calls  mLastNitResponse.setContents (setNITRessponseContents?). Or should the OutgoingMessageInterceptor work differently?

- Alan