Juha Heinanen writes:

> one thing i feel uncomfortable is cancel handling.  i added to
> onSipRequest:
> 
> if (req.method == "CANCEL") decCallControlCalls();
> 
> what if caller sends many cancels back-to-back?  will each of them cause
> decCallControlCalls() call?  if so, how to avoid it?

sorry, i didn't notice SBCDialog::onCancel() function, which calls
stopCall() if dialog is in pending state.  call counter decrementing on
cancel now works fine when i in stopCall() always call
decCallControlCalls():

void SBCDialog::stopCall() {
  if (m_state == BB_Connected) {
    stopPrepaidAccounting();
    stopCallTimer();
  }
  decCallControlCalls();
  terminateOtherLeg();
  terminateLeg();
}

here you see yet another difference between prepaid and simultaneous
call control.

-- juha
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to