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

[reSIProcate-users] 200OK with Offer in UAC "EarlyWithAnswer" state




Friends:

I am having a problem with sessions using DUM connecting to a gateway
manufactured by Sonus. Not sure of the model number, but the SDP packets
say "Sonus_UAC".

My sessions look like the following:

              DUM                                       GATEWAY
        INVITE ( no sdp, Supported: 100rel )            ------->>
        100 Trying                                      <<-------
        180 Ringing ( with sdp offer, Requires 100rel ) <<-------
        PRACK ( with sdp answer )                       ------->>
        200 OK ( for the prack, no sdp )                <<-------

At this point i hear the ringback from the telephone network through the gateway.

But the next thing that happens is the remote telephone gets answered.

        200 OK (for the invite, *with* sdp offer )      <<-------

When the GW sends this 200 OK with a new offer, DUM shuts everything down,
and the onFailure callback gets called.

        ACK ( no sdp )                                  -------->>
        BYE                                             -------->>


I looked at the state machine, and I think the relevant state transition
for that 200 OK with the offer  is the following:

EarlyWithAnswer -> Terminated           [ label =
"on2XX-sdp/send::ACK,send::BYE,app::onFailure,app::onTerminated" ];

So, DUM is doing what is documented. DUM seems to think that what the
gateway is doing is *bad* SIP. But it seems to me that DUM could transition to the "Answered" state, and send a new answer in the ACK with provideAnswer(), and all would be well. Does anyone have any idea why
DUM shuts down for on2XX-sdp in the EarlyWithAnswer state?