Ticket #5 (closed enhancement: fixed)

Opened 7 years ago

Last modified 7 years ago

Support for SIP UPDATE (RFC 3311) and fix the offer/answer negotiation

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-0.8.0
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description (last modified by bennylp) (diff)

SIP UPDATE is specified in RFC 3311 for updating session parameters without affecting dialog's state.

Also to be fixed in this development is the offer/answer negotiation in pjsip's invite session, since with the support for UPDATE (and PRACK) there are more offer and answer scenarios to support.

Change History

comment:1 Changed 7 years ago by bennylp

  • Priority changed from minor to normal
  • Summary changed from Support for SIP UPDATE (RFC 3311) to Support for SIP UPDATE (RFC 3311) and fix the offer/answer negotiation
  • Description modified (diff)
  • Version set to trunk
  • Milestone changed from unassigned to release-0.7.1

comment:2 Changed 7 years ago by bennylp

  • Status changed from new to closed
  • Resolution set to fixed

Implemented in r1469:

  • UPDATE is now supported! Use pjsip_inv_update() to send UPDATE with offer.
  • PRACK implementation has been heavily modified since it is strictly coupled with the invite session's offer and answer session.
  • Because of above, PRACK support cannot be made optional anymore. The PJSIP_HAS_100REL configuration has been removed.
  • Fixed the offer/answer negotiation to support all scenarios (see below)
  • Added test module in test_pjsip application to test various offer/answer scenarios
  • Changed dialog to send Allow header in 1xx response, so that UAC can detect support for UPDATE
  • Minor fix in sip_transaction.c to make the pool's obj_name equal to the transaction's obj_name.

Supported offer and answer scenarios:

  • The usual INVITE with offer
  • INVITE with no offer will cause UAS to send offer in 18x or 2xx response. When 100rel is used, answer will be provided in PRACK, otherwise answer will be provided in ACK.
  • Sending and receiveing UPDATE containing new offer.

comment:3 Changed 7 years ago by bennylp

Related to this, ticket #389 adds new commands in pjsua application to change codec orders and send UPDATE.

Note: See TracTickets for help on using tickets.