Project

General

Profile

Actions

Feature #1682

closed

OsmoNITB - Bug #1604: Easier / more direct SIP integration

osmo-sip-connector: Add better cause handling

Added by zecke about 8 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
03/31/2016
Due date:
% Done:

60%

Resolution:
Spec Reference:

Description

There are many causes for failure:

  • busy
  • ignored
  • released
  • radio failure

currently the call_leg interface for release_call doesn't include a field for the cause. We should define how to map SIP to GSM failures and vice versa. There are some non-standard fields for ITU Q.XXX fields.


Related issues

Has duplicate osmo-sip-connector - Feature #1964: osmo-sip-connector: Communicate the failure cause from MNCC to SIPClosedzecke03/03/2017

Actions
Actions #1

Updated by laforge almost 8 years ago

  • Category set to osmo-sip-connector
Actions #2

Updated by zecke about 7 years ago

  • Has duplicate Feature #1964: osmo-sip-connector: Communicate the failure cause from MNCC to SIP added
Actions #3

Updated by zecke about 7 years ago

From Keith:

In sip.c:238, we respond SIP_486_BUSY_HERE on call failures.
MNCC communicates to us useful information, as per isdn_cause struct defined in lcr's cause.c IIUC
https://github.com/osmobuntu/lcr/blob/master/cause.c

It'd be nice to implement this.
I tried to get the gsm_mncc object into sip_release_call() to access the gsm_mncc->cause but came up against my deficient knowledge of C. :(

Happy to help otherwise with the copy pasting :)

Actions #4

Updated by laforge about 7 years ago

  • Project changed from OsmoNITB to osmo-sip-connector
  • Category deleted (osmo-sip-connector)
Actions #5

Updated by keith about 7 years ago

How can I help to move this forward?
I get those unpleasant 3 ascending "failure" tones from the nokia regargless of hangup cause. for ex. on normal call termination. but you know that. If you can point me the right direction, I can try and contribute.

Actions #6

Updated by zecke about 7 years ago

On 29. Mar 2017, at 20:43, keith [REDMINE] <> wrote:

Issue #1682 has been updated by keith.

How can I help to move this forward?
I get those unpleasant 3 ascending "failure" tones from the nokia regargless of hangup cause. for ex. on normal call termination. but you know that. If you can point me the right direction, I can try and contribute.

Mostly how to map it and what SIP header to check for..

diff --git a/src/call.h b/src/call.h
index 7cb4932..9e70e2c 100644
--- a/src/call.h
+++ b/src/call.h
@@ -66,7 +66,7 @@ struct call_leg {
 * Set by the call_leg implementation and will be called
 * by the application to release the call.
 */
-       void (*release_call)(struct call_leg *);
+       void (*release_call)(struct call_leg *, int q931_cause);
};

enum sip_cc_state {

I would start here and then look into the compilation failures to see which cause makes sense. E.g. for the mncc protocol we have the cause field which most likely is ITU Q931 encoded already (it could be something different but probably we can assume that this is not the case)

When is a realistic timeframe for you to look at it? I have some spots in my schedule where I could work on it with you.

holger

Actions #7

Updated by laforge about 6 years ago

  • Assignee changed from zecke to 4368
Actions #8

Updated by laforge over 5 years ago

  • Status changed from New to In Progress
  • Assignee changed from 4368 to keith
Actions #10

Updated by laforge over 5 years ago

Actions #13

Updated by keith over 4 years ago

  • Status changed from In Progress to Resolved

I think this can be considered completed.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)