Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
533b3bde8a | ||
|
|
47b2ff8860 | ||
|
|
782a08d0e1 | ||
|
|
28553ff8cb | ||
|
|
1a0927ca23 | ||
|
|
de78c8d37f | ||
|
|
cdb844c16b |
74
libpri-1.4.14-summary.html
Normal file
74
libpri-1.4.14-summary.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - libpri-1.4.14</title></head>
|
||||
<body>
|
||||
<h1 align="center"><a name="top">Release Summary</a></h1>
|
||||
<h3 align="center">libpri-1.4.14</h3>
|
||||
<h3 align="center">Date: 2012-12-20</h3>
|
||||
<h3 align="center"><asteriskteam@digium.com></h3>
|
||||
<hr/>
|
||||
<h2 align="center">Table of Contents</h2>
|
||||
<ol>
|
||||
<li><a href="#summary">Summary</a></li>
|
||||
<li><a href="#contributors">Contributors</a></li>
|
||||
<li><a href="#issues">Closed Issues</a></li>
|
||||
<li><a href="#commits">Other Changes</a></li>
|
||||
<li><a href="#diffstat">Diffstat</a></li>
|
||||
</ol>
|
||||
<hr/>
|
||||
<a name="summary"><h2 align="center">Summary</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This release includes only bug fixes. The changes included were made only to address problems that have been identified in this release series. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous release series are strongly encouraged to review the UPGRADE.txt document as well as the CHANGES document for information about upgrading to this release series.</p>
|
||||
<p>The data in this summary reflects changes that have been made since the previous release, libpri-1.4.13.</p>
|
||||
<hr/>
|
||||
<a name="contributors"><h2 align="center">Contributors</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
|
||||
<table width="100%" border="0">
|
||||
<tr>
|
||||
<td width="33%"><h3>Coders</h3></td>
|
||||
<td width="33%"><h3>Testers</h3></td>
|
||||
<td width="33%"><h3>Reporters</h3></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
2 rmudgett<br/>
|
||||
2 Tzafrir Cohen<br/>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
2 tzafrir<br/>
|
||||
1 nmerrett<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr/>
|
||||
<a name="issues"><h2 align="center">Closed Issues</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p>
|
||||
<h3>Category: General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/PRI-145">PRI-145</a>: Unchecked write in pritest<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/libpri/branches/1.4?view=revision&revision=2305">2305</a><br/>
|
||||
Reporter: tzafrir<br/>
|
||||
Coders: Tzafrir Cohen<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/PRI-147">PRI-147</a>: Normal Clearing in Progress Message is ignored<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/libpri/branches/1.4?view=revision&revision=2308">2308</a><br/>
|
||||
Reporter: nmerrett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<hr/>
|
||||
<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
|
||||
<table width="100%" border="1">
|
||||
<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/libpri/branches/1.4?view=revision&revision=2307">2307</a></td><td>rmudgett</td><td>Fix compiler error with ALERTING_NO_PROGRESS define.</td>
|
||||
<td></td></tr></table>
|
||||
<hr/>
|
||||
<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
|
||||
<pre>
|
||||
pritest.c | 5 +++
|
||||
q931.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++----------
|
||||
2 files changed, 71 insertions(+), 13 deletions(-)
|
||||
</pre><br/>
|
||||
<hr/>
|
||||
</body>
|
||||
</html>
|
||||
108
libpri-1.4.14-summary.txt
Normal file
108
libpri-1.4.14-summary.txt
Normal file
@@ -0,0 +1,108 @@
|
||||
Release Summary
|
||||
|
||||
libpri-1.4.14
|
||||
|
||||
Date: 2012-12-20
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Other Changes
|
||||
5. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This release includes only bug fixes. The changes included were made only
|
||||
to address problems that have been identified in this release series.
|
||||
Users should be able to safely upgrade to this version if this release
|
||||
series is already in use. Users considering upgrading from a previous
|
||||
release series are strongly encouraged to review the UPGRADE.txt document
|
||||
as well as the CHANGES document for information about upgrading to this
|
||||
release series.
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, libpri-1.4.13.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Contributors
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This table lists the people who have submitted code, those that have
|
||||
tested patches, as well as those that reported issues on the issue tracker
|
||||
that were resolved in this release. For coders, the number is how many of
|
||||
their patches (of any size) were committed into this release. For testers,
|
||||
the number is the number of times their name was listed as assisting with
|
||||
testing a patch. Finally, for reporters, the number is the number of
|
||||
issues that they reported that were closed by commits that went into this
|
||||
release.
|
||||
|
||||
Coders Testers Reporters
|
||||
2 rmudgett 2 tzafrir
|
||||
2 Tzafrir Cohen 1 nmerrett
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Closed Issues
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all issues from the issue tracker that were closed by
|
||||
changes that went into this release.
|
||||
|
||||
Category: General
|
||||
|
||||
PRI-145: Unchecked write in pritest
|
||||
Revision: 2305
|
||||
Reporter: tzafrir
|
||||
Coders: Tzafrir Cohen
|
||||
|
||||
PRI-147: Normal Clearing in Progress Message is ignored
|
||||
Revision: 2308
|
||||
Reporter: nmerrett
|
||||
Coders: rmudgett
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Commits Not Associated with an Issue
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all changes that went into this release that did not
|
||||
directly close an issue from the issue tracker. The commits may have been
|
||||
marked as being related to an issue. If that is the case, the issue
|
||||
numbers are listed here, as well.
|
||||
|
||||
+------------------------------------------------------------------------+
|
||||
| Revision | Author | Summary | Issues |
|
||||
| | | | Referenced |
|
||||
|----------+----------+-------------------------------------+------------|
|
||||
| 2307 | rmudgett | Fix compiler error with | |
|
||||
| | | ALERTING_NO_PROGRESS define. | |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Diffstat Results
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a summary of the changes to the source code that went into this
|
||||
release that was generated using the diffstat utility.
|
||||
|
||||
pritest.c | 5 +++
|
||||
q931.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++----------
|
||||
2 files changed, 71 insertions(+), 13 deletions(-)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -68,7 +68,10 @@ static void do_channel(int fd)
|
||||
int i=0;
|
||||
|
||||
while ((res = read(fd, buf, READ_SIZE)) > 0 && (i++ < 1000)) {
|
||||
write(fd, buf, res);
|
||||
if (write(fd, buf, res) == -1) {
|
||||
fprintf(stderr, "--!! Failed write: %d\n", errno);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
79
q931.c
79
q931.c
@@ -3475,38 +3475,73 @@ static char *pri_causeclass2str(int cause)
|
||||
static void dump_cause(int full_ie, struct pri *ctrl, q931_ie *ie, int len, char prefix)
|
||||
{
|
||||
int x;
|
||||
int cause_ind = 1;
|
||||
int data_ind = 2;
|
||||
|
||||
pri_message(ctrl,
|
||||
"%c %s (len=%2d) [ Ext: %d Coding: %s (%d) Spare: %d Location: %s (%d)\n",
|
||||
prefix, ie2str(full_ie), len, ie->data[0] >> 7,
|
||||
coding2str((ie->data[0] & 0x60) >> 5), (ie->data[0] & 0x60) >> 5,
|
||||
(ie->data[0] & 0x10) >> 4, loc2str(ie->data[0] & 0xf), ie->data[0] & 0xf);
|
||||
if ((ie->data[0] & 0x80) == 0) {
|
||||
const char *recommendation;
|
||||
|
||||
switch (ie->data[1] & 0x7f) {
|
||||
case 0x00:
|
||||
recommendation = "Q.931";
|
||||
break;
|
||||
case 0x03:
|
||||
recommendation = "X.21";
|
||||
break;
|
||||
case 0x04:
|
||||
recommendation = "X.25";
|
||||
break;
|
||||
case 0x05:
|
||||
recommendation = "Q.1031/Q.1051";
|
||||
break;
|
||||
default:
|
||||
recommendation = "Reserved";
|
||||
break;
|
||||
}
|
||||
pri_message(ctrl, "%c Ext: %d Recommendation: %s (%d)\n",
|
||||
prefix, (ie->data[1] >> 7), recommendation, ie->data[1] & 0x7f);
|
||||
|
||||
cause_ind = 2;
|
||||
data_ind = 3;
|
||||
}
|
||||
pri_message(ctrl, "%c Ext: %d Cause: %s (%d), class = %s (%d) ]\n",
|
||||
prefix, (ie->data[1] >> 7), pri_cause2str(ie->data[1] & 0x7f), ie->data[1] & 0x7f,
|
||||
pri_causeclass2str((ie->data[1] & 0x7f) >> 4), (ie->data[1] & 0x7f) >> 4);
|
||||
if (ie->len < 3)
|
||||
prefix, (ie->data[cause_ind] >> 7), pri_cause2str(ie->data[cause_ind] & 0x7f), ie->data[cause_ind] & 0x7f,
|
||||
pri_causeclass2str((ie->data[cause_ind] & 0x7f) >> 4), (ie->data[cause_ind] & 0x7f) >> 4);
|
||||
if (ie->len <= data_ind) {
|
||||
return;
|
||||
}
|
||||
/* Dump cause data in readable form */
|
||||
switch(ie->data[1] & 0x7f) {
|
||||
switch(ie->data[cause_ind] & 0x7f) {
|
||||
case PRI_CAUSE_IE_NONEXIST:
|
||||
for (x=2;x<ie->len;x++)
|
||||
for (x = data_ind; x < ie->len; x++) {
|
||||
pri_message(ctrl, "%c Cause data %d: %02x (%d, %s IE)\n", prefix, x-1, ie->data[x], ie->data[x], ie2str(ie->data[x]));
|
||||
}
|
||||
break;
|
||||
case PRI_CAUSE_WRONG_CALL_STATE:
|
||||
for (x=2;x<ie->len;x++)
|
||||
for (x = data_ind; x < ie->len; x++) {
|
||||
pri_message(ctrl, "%c Cause data %d: %02x (%d, %s message)\n", prefix, x-1, ie->data[x], ie->data[x], msg2str(ie->data[x]));
|
||||
}
|
||||
break;
|
||||
case PRI_CAUSE_RECOVERY_ON_TIMER_EXPIRE:
|
||||
pri_message(ctrl, "%c Cause data:", prefix);
|
||||
for (x=2;x<ie->len;x++)
|
||||
for (x = data_ind; x < ie->len; x++) {
|
||||
pri_message(ctrl, " %02x", ie->data[x]);
|
||||
}
|
||||
pri_message(ctrl, " (Timer T");
|
||||
for (x=2;x<ie->len;x++)
|
||||
for (x = data_ind; x < ie->len; x++) {
|
||||
pri_message(ctrl, "%c", ((ie->data[x] >= ' ') && (ie->data[x] < 0x7f)) ? ie->data[x] : '.');
|
||||
}
|
||||
pri_message(ctrl, ")\n");
|
||||
break;
|
||||
default:
|
||||
for (x=2;x<ie->len;x++)
|
||||
for (x = data_ind; x < ie->len; x++) {
|
||||
pri_message(ctrl, "%c Cause data %d: %02x (%d)\n", prefix, x-1, ie->data[x], ie->data[x]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3515,7 +3550,11 @@ static int receive_cause(int full_ie, struct pri *ctrl, q931_call *call, int msg
|
||||
{
|
||||
call->causeloc = ie->data[0] & 0xf;
|
||||
call->causecode = (ie->data[0] & 0x60) >> 5;
|
||||
call->cause = (ie->data[1] & 0x7f);
|
||||
if (ie->data[0] & 0x80) {
|
||||
call->cause = (ie->data[1] & 0x7f);
|
||||
} else {
|
||||
call->cause = (ie->data[2] & 0x7f);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5574,8 +5613,6 @@ int q931_notify(struct pri *ctrl, q931_call *c, int channel, int info)
|
||||
#ifdef ALERTING_NO_PROGRESS
|
||||
static int call_progress_ies[] = { -1 };
|
||||
#else
|
||||
static int call_progress_with_cause_ies[] = { Q931_CAUSE, Q931_PROGRESS_INDICATOR, -1 };
|
||||
|
||||
static int call_progress_ies[] = { Q931_PROGRESS_INDICATOR, -1 };
|
||||
#endif
|
||||
|
||||
@@ -5605,6 +5642,12 @@ int q931_call_progress(struct pri *ctrl, q931_call *c, int channel, int info)
|
||||
return send_message(ctrl, c, Q931_PROGRESS, call_progress_ies);
|
||||
}
|
||||
|
||||
#ifdef ALERTING_NO_PROGRESS
|
||||
static int call_progress_with_cause_ies[] = { Q931_CAUSE, -1 };
|
||||
#else
|
||||
static int call_progress_with_cause_ies[] = { Q931_CAUSE, Q931_PROGRESS_INDICATOR, -1 };
|
||||
#endif
|
||||
|
||||
int q931_call_progress_with_cause(struct pri *ctrl, q931_call *c, int channel, int info, int cause)
|
||||
{
|
||||
if (c->ourcallstate == Q931_CALL_STATE_CALL_INDEPENDENT_SERVICE) {
|
||||
@@ -8767,6 +8810,18 @@ static int post_handle_q931_message(struct pri *ctrl, struct q931_mh *mh, struct
|
||||
(c->ourcallstate != Q931_CALL_STATE_OVERLAP_SENDING) &&
|
||||
(c->ourcallstate != Q931_CALL_STATE_CALL_DELIVERED) &&
|
||||
(c->ourcallstate != Q931_CALL_STATE_OUTGOING_CALL_PROCEEDING)) {
|
||||
if (mh->msg == Q931_PROGRESS
|
||||
&& c->ourcallstate == Q931_CALL_STATE_ACTIVE
|
||||
&& ctrl->switchtype == PRI_SWITCH_QSIG) {
|
||||
/*
|
||||
* Q.SIG is odd to allow PROGRESS when in the Active state since
|
||||
* the media path is already open. Ignore it since it doesn't
|
||||
* convey anything very useful. Maybe they will stop doing it.
|
||||
*
|
||||
* See ECMA-143 Section 10.1.7.2.
|
||||
*/
|
||||
break;
|
||||
}
|
||||
q931_status(ctrl,c,PRI_CAUSE_WRONG_MESSAGE);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user