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