Hi, we had and solved a problem with the B2B*Session classes used via DSM. Our DSM application connects to a caller either via dial in (incoming initial INVITE) or dial out (SEMS sends the initial INVITE) and plays some announcements and collects some DTMFS and then connects the call to a second SEMS instance as B2BUA removing itself from the media path. The setup of the connection to the second SEMS instance was buggy and had the following call flow before we patched SEMS.
Caller - SEMS 1 - SEMS 2
-- INVITE w/o SDP -->
<-- 200 OK w SDP --
-- ACK w SDP -->
<-- Re-INVITE w SDP --
-- 200 OK w SDP -->
<-- ACK w/o SDP --
-- Re-INVITE w SDP -->
<-- 200 OK w SDP --
-- ACK w/o SDP -->
As you can see, SEMS 1 sent an ACK to SEMS 2 with it's
own SDP before Re-INVITEing the caller to get the caller's
SDP. The problem with this call flow is, that the answer
from SEMS 2 is converted into an offer for the caller and
the answer from the caller is converted into an offer
for SEMS 2, such that no correct offer/answer cycle between
caller and SEMS 2 is in effect.
We patched the B2B*Session classes to exhibit the following
call flow instead.
Caller - SEMS 1 - SEMS 2
-- INVITE w/o SDP -->
<-- 200 OK w SDP --
<-- Re-INVITE w SDP --
-- 200 OK w SDP -->
<-- ACK w/o SDP --
-- ACK w SDP -->
The attached patch contains another enhancement. Previously,
SEMS 1 forwarded the o-line of the SEMS 2 SDP unchanged, which
resulted in changing o-line session ids from the perspective of
the caller. Some UAs don't accept this. Therefore the AmB2B*Session
classes now cache the first o-line they ever send out and replace
the session is and user name in subsequent o-lines they send out with
the values from the saved o-line (also incrementing the session version
by one).
I would be glad if you could apply the attached patch, so that we don't
have to maintain it. If there's any problems with it, let me know.
Cheers,
Emil
--
Emil Kroymann
VoIP Services Engineer
Email: [email protected]
Tel: +49-30-203899885
Mobile: +49-176-38389303
ISACO GmbH
Kurfürstenstraße 79
10787 Berlin
Germany
Amtsgericht Charlottenburg, HRB 112464B
Geschäftsführer: Daniel Frommherz
sems-dsm-callflow+sessionid.diff.gz
Description: GNU Zip compressed data
signature.asc
Description: PGP signature
_______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
