12017-01-27 16:25 +0000  Asterisk Development Team <asteriskteam@digium.com>
2
3	* libpri 1.6.0 Released.
4
52016-10-31 23:59 +0000 [c038af7892]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
6
7	* Makefile: Use CPPFLAGS
8
9	  * Include the value of CPPFLAGS in CFLAGS
10
11	  Change-Id: Id8e6f3a231bf7581f3f37576b9ee6849ed59540a
12
132016-10-04 14:27 +0000 [f8e6096bfe]  Richard Mudgett <rmudgett@digium.com>
14
15	* q931.c: Lucent switch implementation bug workaround (Part 2)
16
17	  Work around a bug in a Lucent switch implementation that sets the
18	  extension bit in octet 3 even though octet 3a is present.
19
20	  The same issue was seen in a NI2 switch implementation.  It was probably a
21	  Lucent switch configured for NI2 operation.  To avoid further surprises,
22	  I'm going to enable the work around for all North American switch types.
23
24	  PRI-183
25	  Reported by: Richard Mudgett
26
27	  Change-Id: I7eedbf68b7c3d9c868d9533012e4cea5142af281
28
292016-07-01 13:07 +0000 [d2585d6da2]  Richard Mudgett <rmudgett@digium.com>
30
31	* q931.c: Lucent switch implementation bug workaround.
32
33	  A bug in a Lucent switch implementation sets the Connected Number
34	  information element octet 3 extension bit.  When set that means octet 3 is
35	  complete and thus there is no optional octet 3a.  However, the buggy
36	  switch still sends octet 3a.  The unexpected octet 3a is interpreted as
37	  the first octet 4 and thus the first character in the connected line
38	  number is a garbage character.
39
40	  * Work around the switch bug by checking octet 3 and the potential octet
41	  3a extension bits.  If they are both set then assume that octet 3a is
42	  actually present for the buggy switch types.
43
44	  PRI-183 #close
45	  Reported by: Richard Mudgett
46
47	  Change-Id: I378af37bfd852737a0bfe6263ef3473ea6acfbad
48
492016-06-30 20:15 +0000 [90019b935a]  Richard Mudgett <rmudgett@digium.com>
50
51	* q931.c: Add number ie specification references.
52
53	  Change-Id: I0d15804963501d1e4063a581db756ff26513065b
54
552016-03-25 20:59 +0000  Asterisk Development Team <asteriskteam@digium.com>
56
57	* libpri 1.5.0 Released.
58
592016-03-25 15:58 +0000 [44b1082a1e]  Kevin Harwell <kharwell@lunkwill>
60
61	* Release summaries: Add summaries for 1.5.0
62
632016-03-25 15:58 +0000 [9a90caa65e]  Kevin Harwell <kharwell@lunkwill>
64
65	* .version: Update for 1.5.0
66
672016-03-25 15:58 +0000 [5414ca525e]  Kevin Harwell <kharwell@lunkwill>
68
69	* .lastclean: Update for 1.5.0
70
712016-03-24 14:55 +0000 [c71499df29]  Kevin Harwell <kharwell@digium.com>
72
73	* Adding .cleancount and .gitreview files
74
75	  Change-Id: I0e5accd0e43c049578241b2841fc2efa821c24f4
76
772016-03-15 16:22 +0000 [2952e95715]  Richard Mudgett <rmudgett@digium.com>
78
79	* q931.c: Fix DISCONNECT Progress Indicator ie handling.
80
81	  There are two scenarios that are exposed by DISCONNECT not initializing
82	  the progress indicator value before processing the message when the
83	  chan_dahdi.conf inbanddisconnect=yes option is set.
84
85	  1) If a DISCONNECT comes in without a Progress Indicator ie and an earlier
86	  message (such as SETUP-ACKNOWLEDGE or PROCEEDING) came in with the
87	  indicator #8 (Inband audio present) then the DISCONNECT would not cause an
88	  immediate hangup.  We would be letting the user hear the inband audio even
89	  though there isn't any.
90
91	  2) If a DISCONNECT message comes in with the indicator #8 (Inband audio
92	  present) and then later the DISCONNECT message is repeated without a
93	  Progress Indicator ie we would still ignore the second DISCONNECT to let
94	  the user hear inband audio even though it likely isn't there anymore.
95
96	  PRI-180 #close
97	  Reported by: Alexandr Dranchuk
98
99	  Change-Id: Ic88aafb45053146b5701d666e6212f7555573624
100
1012016-03-16 13:08 +0000 [7da3366cec]  Richard Mudgett <rmudgett@digium.com>
102
103	* q931.c: Substitute PROGRESS for DISCONNECT with progress indicator #8
104
105	  When the pri_set_inbanddisconnect() option is enabled and the call has not
106	  been answered when a DISCONNECT with progress indicator #8 (Inband audio
107	  present) is received, then report the event as a PROGRESS with progress
108	  indicator #8 (Inband audio present) instead.  Substituting a PROGRESS
109	  event allows the upper layer to open the media path if it isn't already
110	  open so the user can hear the inband audio message.
111
112	  PRI-180
113	  Reported by: Alexandr Dranchuk
114
115	  Change-Id: I62313bf9cc1d2f3b0231f0c07a784717ddba0415
116
1172016-03-16 12:57 +0000 [734e922301]  Richard Mudgett <rmudgett@digium.com>
118
119	* Add .gitignore
120
121	  Change-Id: I11ac3b47a9d5d0a0c1ea4559280b75ef5d866d62
122
1232016-02-17 14:21 +0000 [a9722804c1]  Richard Mudgett <rmudgett@digium.com>
124
125	* q931.c: Tighten mandatory ie checks.
126
127	  Libpri was lax in checking if a missing channel identification ie is
128	  mandatory for the SETUP ACKNOWLEDGE, PROCEEDING, ALERTING, and CONNECT
129	  messages.  That ie is mandatory when those messages are the first response
130	  to a SETUP message sent by the CPE side.
131
132	  * Made those messages check if a missing channel identification ie is
133	  mandatory and send a STATUS with cause 96 "Mandatory information element
134	  is missing" in response.
135
136	  Libpri did not care if a mandatory ie had a coding error.
137
138	  * Made coding errors in mandatory ie's send a STATUS with cause 100
139	  "Invalid information element contents" in response.
140
141	  * Fixed detection of coding errors in channel identification ie.
142
143	  SWP-8721
144	  SWP-8722
145
146
147	  git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2337 2fbb986a-6c06-0410-b554-c9c1f0a7f128
148
1492016-02-09 15:46 +0000 [6b2cc87b30]  Richard Mudgett <rmudgett@digium.com>
150
151	* q931.c: Update ALERTING_NO_PROGRESS conditional code.
152
153	  The conditional is to only remove the Progress Indicator ie from being
154	  added to select messages.
155
156	  * Made so the ALERTING message can have the User-User ie if needed when
157	  ALERTING_NO_PROGRESS is defined.
158
159
160	  git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2335 2fbb986a-6c06-0410-b554-c9c1f0a7f128
161
1622014-11-17 17:26 +0000 [fc96191788]  Richard Mudgett <rmudgett@digium.com>
163
164	* q931.c: Made not recognize ie 0x01 for switches other than 4ESS, 5ESS, NI2, and DMS-100.
165
166	  An incoming SETUP message needs to reject the invalid ie 0x01 on switches
167	  other than 4ESS, 5ESS, NI2, and DMS-100.
168
169	  LIBPRI-74 #close
170	  Reported by: Richard Mudgett
171
172
173	  git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2333 2fbb986a-6c06-0410-b554-c9c1f0a7f128
174
1752014-11-17 14:07 +0000 [5fda3d8c68]  Richard Mudgett <rmudgett@digium.com>
176
177	* q931.c: Send STATUS messages when receiving messages in the wrong call state.
178
179	  * Add checks to send STATUS messages when receiving SETUP ACKNOWLEDGE,
180	  ALERTING, and CONNECT ACKNOWLEDGE messages when in the wrong call state.
181
182	  LIBPRI-76 #close
183	  Reported by: Richard Mudgett
184
185
186	  git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2331 2fbb986a-6c06-0410-b554-c9c1f0a7f128
187
1882014-11-04 16:19 +0000 [af8a550ff9]  Richard Mudgett <rmudgett@digium.com>
189
190	* q921.c: Send DM and DISC frames with only three data octets instead of an extra fourth octet.
191
192
193	  git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2329 2fbb986a-6c06-0410-b554-c9c1f0a7f128
194
1952014-08-18 17:44 +0000 [a50516c1e4]  Gerald Schnabel
196
197	* q931.c: Make always post a PRI_EVENT_KEYPAD_DIGIT if keypad digits come in an INFO message.
198
199	  Q.931 Section 3.1.6 INFORMATION message.  The keypad-facility or
200	  called-party-number ie could be used to convey called party digits.  The
201	  keypad-facility ie can also be used to convey supplementary service
202	  information.
203
204	  PRI-173 #close
205	  Reported by: Gerald Schnabel
206	  Patches:
207	        libpri_q931_keypad_digits.patch (license #6297) patch uploaded by Gerald Schnabel
208
209
210	  git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2327 2fbb986a-6c06-0410-b554-c9c1f0a7f128
211
2122014-06-16  Asterisk Development Team <asteriskteam@digium.com>
213
214	* libpri 1.4.15 Released.
215
2162014-06-02 16:27 +0000 [r2322]  Richard Mudgett <rmudgett@digium.com>
217
218	* pri.c: Adjust T202 default value to the minimum. The minimum T202
219	  time specified in Q.921 Section 5.9.7 is 2 seconds. It makes
220	  sense to set the value to the minimum 2 seconds in order to more
221	  likely get a TEI value before an outgoing call request aborts
222	  from T303 timeouts. PRI-171 #close Reported by: dcolombo
223
2242014-05-12 22:45 +0000 [r2320]  Richard Mudgett <rmudgett@digium.com>
225
226	* pri_q931.h, q931.c, libpri.h, pri.c: libpri: Add control of
227	  inband audio progress indication ie to the SETUP_ACKNOWLEDGE
228	  message. Added support to the libpri API to control the inband
229	  audio available progress indication ie on the SETUP_ACKNOWLEDGE
230	  message. * Added the progress indication ie progressmask value to
231	  the struct pri_event_setup_ack so the PRI_EVENT_SETUP_ACK event
232	  can indicate when a SETUP_ACKNOWLEDGE comes in with inband audio
233	  (ie dialtone). * Added pri_setup_ack() so when the
234	  SETUP_ACKNOWLEDGE message is sent it can indicate if inband audio
235	  is present (ie dialtone). This patch and a corresponding change
236	  in Asterisk work together to allow Asterisk to control the inband
237	  audio available progress indication ie on the SETUP_ACKNOWLEDGE
238	  message when dialtone is present. AST-1338 #close Reported by:
239	  Tyler Stewart Review: https://reviewboard.asterisk.org/r/3520/
240
2412014-04-18 17:44 +0000 [r2318]  Richard Mudgett <rmudgett@digium.com>
242
243	* q921.c: libpri: Make TE-PTP mode respond to MDL TEI check
244	  requests. Some BRI devices in France insist on checking TEI's
245	  when in point-to-point mode. If they don't get a response for TEI
246	  0 they drop layer 1 even though libpri keeps trying to bring
247	  layer 2 up. * Made q921_mdl_receive() handle TEI check request
248	  messages in TE-PTP mode. Had to change
249	  q921_mdl_send()/Q921_INIT() because the PTP modes do not setup a
250	  link structure specifically for MDL as the PTMP modes do. * Fixed
251	  q921_tei_check()/t201_expire() to check TEI's even if the network
252	  side doesn't have any assigned. This should make TE's that
253	  request the TEI verify procedure (Q.921 Section 5.3.5) happy when
254	  the network side doesn't have any TEI's allocated. PRI-165
255	  Reported by: Denis Alberto Martinez Patches:
256	  jira_pri_165_ptp_respond_tei_check.patch (license #5621) patch
257	  uploaded by rmudgett Review:
258	  https://reviewboard.asterisk.org/r/3434/
259
2602013-03-28 16:40 +0000 [r2315]  Richard Mudgett <rmudgett@digium.com>
261
262	* q921.c: Fix hole in layer2_persistence option for TE PTMP links.
263	  If the network stops responding, according to Q.921 we are
264	  supposed to remove the TEI. With the layer2_persistence option
265	  enabled, we are supposed to keep trying to bring layer 2 back up.
266	  Unfortunately, when the network stops responding, we stopped the
267	  restart timer and removed the TEI. As a result, layer 2 does not
268	  immediately come back up. * Made not stop the restart timer if we
269	  are removing the TEI on the CPE side. Also handle the timer
270	  expiration in relevant unassigned TEI states. (closes issue
271	  LIBPRI-72) Reported by: Trey Blancher Patches:
272	  jira_dahdi_1001_libpri_v1.4.patch (license #5621) patch uploaded
273	  by rmudgett
274
2752012-12-20  Asterisk Development Team <asteriskteam@digium.com>
276
277	* libpri 1.4.14 Released.
278
2792012-12-10 18:28 +0000 [r2310]  Richard Mudgett <rmudgett@digium.com>
280
281	* q931.c: Handle optional Recommendation octet 3a in Cause IE. If
282	  the MSB of octet 3 is 0 then the optional Recommendation octet 3a
283	  is present. References: ITU-T Q.850 Section 2.1 and ETSI ETS 300
284	  102-1 Section 4.5.12. (closes issue PRI-151) Reported by: Tzafrir
285	  Cohen Patches:
286	  0001-handle-optional-Recommendation-in-Cause-IE.patch (license
287	  #5035) patch uploaded by Tzafrir Cohen Modified
288
2892012-11-13 19:59 +0000 [r2307-2308]  Richard Mudgett <rmudgett@digium.com>
290
291	* q931.c: Q.SIG: Allow PROGRESS when in the Active state. ECMA-143
292	  Section 10.1.7.2 indicates that PROGRESS is allowed when in the
293	  Active state. * Made Q.SIG ignore the PROGRESS message when in
294	  the Active call state. (closes issue PRI-147) Reported by: Nick
295	  Merrett
296
297	* q931.c: Fix compiler error with ALERTING_NO_PROGRESS define.
298
2992012-10-29 21:19 +0000 [r2305]  Richard Mudgett <rmudgett@digium.com>
300
301	* pritest.c: Fix compiler warning in pritest.c. * Made do_channel()
302	  exit on a failed write(). (closes issue PRI-145) Reported by:
303	  Tzafrir Cohen Patches: fix_unused_write.patch (license #5035)
304	  patch uploaded by Tzafrir Cohen Modified
305
3062012-10-09  Asterisk Development Team <asteriskteam@digium.com>
307
308	* libpri 1.4.13 Released.
309
3102012-09-26 15:46 +0000 [r2300]  Richard Mudgett <rmudgett@digium.com>
311
312	* Makefile: Allow passing compiler flags (CFLAGS, LDFLAGS) (closes
313	  issue PRI-144) Reported by: Tzafrir Cohen Patches: flags.diff
314	  (license #5035) patch uploaded by Tzafrir Cohen
315
3162012-09-10 15:52 +0000 [r2298]  Richard Mudgett <rmudgett@digium.com>
317
318	* pridump.c: Fix compile error in pridump.c. With gcc 4.6.3 it's
319	  possible to get the following error: $ make gcc -Wall -Werror
320	  -Wstrict-prototypes -Wmissing-prototypes -g -fPIC -O2 -MD -MT
321	  pridump.o -MF .pridump.o.d -MP -c -o pridump.o pridump.c
322	  pridump.c: In function \u2018pri_bridge\u2019: pridump.c:117:1:
323	  error: no return statement in function returning non-void
324	  [-Werror=return-type] cc1: all warnings being treated as errors
325	  make: *** [pridump.o] Error 1 Changing the function return value
326	  to void fixes the issue since there were no places in the code
327	  that used the return value. (closes issue PRI-143) Reported by:
328	  Birger "WIMPy" Harzenetter Patches:
329	  0001-Fix-no-return-statement-in-function-returning-non-vo.patch
330	  (license #5417) patch uploaded by Shaun Ruffell
331
3322012-08-11 01:38 +0000 [r2292-2295]  Richard Mudgett <rmudgett@digium.com>
333
334	* /: SVN ignore built utilities.
335
336	* Makefile: * Made no longer compile *.lo files they are identical
337	  to *.o files. * Made compile the pritest, rosetest, and
338	  testprilib utilities using the static libpri library. No more
339	  forgetting to install the library after a change and wondering
340	  why it still did not work. The pridump utility is still
341	  dynamically linked. * Made compile the utilities by default.
342
343	* pridump.c, testprilib.c: Make pridump and testprilib compile
344	  again.
345
3462012-07-30 16:20 +0000 [r2290]  Richard Mudgett <rmudgett@digium.com>
347
348	* q921.c: Removed MDL/TEI management configuration warning message.
349	  Some telco switches send out MDL messages even though they are
350	  configured for PTP. Usually they are checking for assigned TEI's.
351	  Since these switches periodically poll for assigned TEI's, the
352	  message needlessly fills up log files. * Changed message warning
353	  level to a normal debug message level and reworded. (closes issue
354	  PRI-137) Reported by: Bart Coninckx
355
3562012-06-28 00:16 +0000 [r2288]  Richard Mudgett <rmudgett@digium.com>
357
358	* pri.c, pri_internal.h, q931.c, libpri.h: Implement T316 to allow
359	  RESTART messages to be automatically retransmitted. Q.931 defines
360	  the T316 timer to retransmit RESTART messages if a RESTART
361	  ACKNOWLEDGE message is not received before the timer expires.
362	  Q.931 defaults the time of T316 to 2 minutes with the default
363	  number of consecutive RESTART failures as two. * To support
364	  legacy behavior, the T316 timer is disabled by default. It is
365	  also disabled because the user cannot configure it to disabled if
366	  it is enabled. * The N316 count is created to allow the number of
367	  RESTART attempts to be configurable. Note you will need to
368	  recompile Asterisk to be able to configure N316. (issue
369	  ASTERISK-19608) (issue AST-815) (closes issue PRI-133) Reported
370	  by: Mike Boylan Tested by: rmudgett
371
3722012-05-14 14:54 +0000 [r2286]  Richard Mudgett <rmudgett@digium.com>
373
374	* q931.c: Make pri_pres2str() return correct string. * Fix
375	  pri_pres2str() mask creation. (closes issue PRI-139) Reported by:
376	  Pavel Troller Patches: q931.c.diff (license #6302) patch uploaded
377	  by Pavel Troller
378
3792012-03-23 19:35 +0000 [r2284]  Richard Mudgett <rmudgett@digium.com>
380
381	* pri.c, q931.c, pri_facility.c, pri_cc.c: Make number not
382	  available presentation also set screening to network provided.
383	  Q.951 indicates that when the presentation indicator is "Number
384	  not available due to interworking" for a number then the
385	  screening indicator field should be "Network provided". Released
386	  versions of Asterisk starting with v1.8 relesed before this patch
387	  only recognized the PRES_NUMBER_NOT_AVAILABLE value as an
388	  unavailable number. This patch improves compatibility as a
389	  result. * Made mask the presentation value for names and numbers
390	  from the upper layer. * Made pri_mwi_indicate_v2() also call
391	  q931_party_id_fixup() for completeness even though it is a noop
392	  in this case. * Made pri_pres2str() deceoode better.
393
3942012-02-03 23:12 +0000 [r2282]  Kinsey Moore <kmoore@digium.com>
395
396	* pri_q921.h, q921.c, pridump.c: Make PRI_DEBUG_Q921_RAW work
397	  independantly of PRI_DEBUG_Q921_DUMP Ensure that the DUMP and RAW
398	  flags work independently in q921_dump(). (closes issue PRI-119)
399	  Patch-by: wimpy
400
4012012-01-26 20:19 +0000 [r2280]  Richard Mudgett <rmudgett@digium.com>
402
403	* q931.c: Use ie2str(full_ie) where possible in q931.c. Initial
404	  patch by Alec Davis. Review:
405	  https://reviewboard.asterisk.org/r/1633/
406
4072011-12-16 20:01 +0000 [r2277-2278]  Richard Mudgett <rmudgett@digium.com>
408
409	* pri_internal.h, q931.c: Remove nul octets from IE data that is
410	  normally treated as strings. Sometimes ie values received from
411	  carriers contain nul octets in values normally treated by libpri
412	  as nul terminated strings. A discussion on the asterisk-users
413	  list determined that the best thing to do in the situation is to
414	  delete the nul octets and unconditionally report/log when that
415	  happens. * Remove nul octets from the following ie's and generate
416	  an unconditional log message to the upper layer when they are
417	  removed: Connected Number Connected Address Redirecting Number
418	  Original Called Number Redirection Number Called Party Number
419	  Calling Party Number Display Keypad Facility (closes issue
420	  PRI-128) Reported by: phsultan Patches: jira_pri_128.patch
421	  (license #5621) patch uploaded by rmudgett (modified) Tested by:
422	  rmudgett
423
424	* pri_internal.h, q931.c: Implement handling a multi-channel
425	  RESTART request. The channel id ie can supply a slotmap or list
426	  of channels. For a RESTART message, this can be handy to indicate
427	  multiple channels that need to be restarted at the same time. An
428	  incoming RESTART request will now generate a PRI_EVENT_RESTART to
429	  the upper layer for each channel indicated in the request. If the
430	  event is successfully generated for all indicated channels then a
431	  RESTART_ACKNOWLEDGE is sent back to the peer indicating all
432	  channels restarted. * Add the ability to process a channel id ie
433	  channel list with a RESTART request. * Add the ability to process
434	  slotmaps with a RESTART request. (closes issue PRI-93) Reported
435	  by: Marcin Kowalczyk Patches: jira_pri_93.patch (license #5621)
436	  patch uploaded by rmudgett Tested by: zvision, rmudgett (closes
437	  issue PRI-71) Reported by: Torrey Searle Tested by: rmudgett
438
4392011-09-26 22:54 +0000 [r2275]  Richard Mudgett <rmudgett@digium.com>
440
441	* q931.c: Fix message typo: Weird (closes issue PRI-126) Reported
442	  by: Tzafrir Cohen
443
4442011-08-17 15:48 +0000 [r2273]  Richard Mudgett <rmudgett@digium.com>
445
446	* pri.c, pri_internal.h, pri_q921.h, q921.c, libpri.h: Outgoing BRI
447	  calls fail when using Asterisk 1.8 with HA8, HB8, and B410P
448	  cards. France Telecom brings layer 2 and layer 1 down on BRI
449	  lines when the line is idle. When layer 1 goes down Asterisk
450	  cannot make outgoing calls and the HA8 and HB8 cards also get IRQ
451	  misses. The inability to make outgoing calls is because the line
452	  is in red alarm and Asterisk will not make calls over a line it
453	  considers unavailable. The IRQ misses for the HA8 and HB8 card
454	  are because the hardware is switching clock sources from the line
455	  which just brought layer 1 down to internal timing. There is a
456	  DAHDI option for the B410P card to not tell Asterisk that layer 1
457	  went down so Asterisk will allow outgoing calls: "modprobe
458	  wcb4xxp teignored=1". There is a similar DAHDI option for the HA8
459	  and HB8 cards: "modprobe wctdm24xxp bri_teignored=1".
460	  Unfortunately that will not clear up the IRQ misses when the
461	  telco brings layer 1 down. * Add layer 2 persistence option to
462	  customize the layer 2 behavior on BRI PTMP lines. The new option
463	  has three settings: 1) Use libpri default layer 2 setting. 2)
464	  Keep layer 2 up. Bring layer 2 back up when the peer brings it
465	  down. 3) Leave layer 2 down when the peer brings it down. Layer 2
466	  will be brought up as needed for outgoing calls. JIRA AST-598
467
4682011-07-05  Leif Madsen <lmadsen@digium.com>
469
470	* Release libpri 1.4.12
471
4722011-05-17 20:13 +0000 [r2266]  Richard Mudgett <rmudgett@digium.com>
473
474	* pri.c, pri_internal.h, q931.c, libpri.h: Option needed for
475	  Q931_IE_TIME_DATE to be optional in CONNECT message. The NEC
476	  SV8300 rejects the Q931_IE_TIME_DATE for Q.SIG. Add option to
477	  specify if and how much of the current time is put in
478	  Q931_IE_TIME_DATE. * Send date/time ie never. * Send date/time ie
479	  date only. * Send date/time ie date and hour. * Send date/time ie
480	  date, hour, and minute. * Send date/time ie date, hour, minute,
481	  and second. * Send date/time ie default: Libpri will send date
482	  and hhmm only when in NT PTMP mode to support ISDN phones.
483	  (closes issue #19221) Reported by: kenner JIRA SWP-3396
484
4852011-04-18 19:43 +0000 [r2262]  Richard Mudgett <rmudgett@digium.com>
486
487	* pri_internal.h, q931.c, pri_facility.c, libpri.h: Problems with
488	  ISDN MWI to phones. 1) The "controlling user number" is always
489	  the number of the voice mail box which is identical with the
490	  subscriber number itself. This number which is listed in the ISDN
491	  phone MWI menu cannot be called back to contact the voice mail
492	  box. The controlling user number should be made configurable. 2)
493	  The MWI indication is not restricted to a user (broadcast
494	  facility with dummy call reference). A called party IE should be
495	  added to address only the relevant MSN. (ETSI 300-196 Section
496	  8.3.2.4) JIRA ABE-2738 JIRA SWP-2846
497
4982011-03-18 01:59 +0000 [r2258]  Richard Mudgett <rmudgett@digium.com>
499
500	* pri_facility.c: CallRerouting response not sent if peer hangs up
501	  first. Send the CallRerouting response on the next message
502	  instead of only on the DISCONNECT message. The next message is
503	  either going to be a DISCONNECT or RELEASE depending on who
504	  initiates disconnection first.
505
5062011-03-01 00:50 +0000 [r2227-2238]  Richard Mudgett <rmudgett@digium.com>
507
508	* pri.c, pri_internal.h, pri_q931.h, q931.c, libpri.h: Implement
509	  the mandatory T312 timer for NT PTMP broadcast SETUP calls. *
510	  Fixed stopping T303 too early on a NT PTMP broadcast SETUP call
511	  if a subcall just receives a RELEASE_COMPLETE(busy). * Fixed a
512	  valgrind reported invalid read/write when hanging up a NT PTMP
513	  broadcast SETUP call. JIRA LIBPRI-32 JIRA SWP-2548
514
515	* q931.c, pri_facility.c: Miscellaneous cleanup before T312 branch
516	  merge.
517
518	* q931.c: Fix valgrind reported invalid read/write for display text
519	  feature.
520
521	* pri.c, pri_internal.h, q931.c, pri_cc.c: Improve the usefulness
522	  of pri_dump_info_str() output. * Add BRI and PTMP strings to node
523	  type config when configured that way. * Move Q.921 statistics to
524	  after configuration settings. * Add call and cc_record debug
525	  statistics to pri_dump_info_str().
526
527	* pri.c: Add determined remote node type to pri_dump_info_str().
528
5292011-02-17 21:12 +0000 [r2202-2207]  Richard Mudgett <rmudgett@digium.com>
530
531	* q931.c: B channel lost by incoming call in BRI NT PTMP mode. A
532	  phone's RELEASE_COMPLETE as a response to an initial broadcast
533	  SETUP blocks one B channel permantly when the call is cancelled.
534	  Scenario: A call to the ISDN Bus is acknowledged (ALERTING) by
535	  one phone/endpoint and rejected by another phone/endpoint with a
536	  RELEASE_COMPLETE. The call is then cancelled by the caller. If
537	  the whole procedure is repeated once again then any further call
538	  attempt is rejected (WARNING[5666]: app_dial.c:1546
539	  dial_exec_full: Unable to create channel of type 'DAHDI' (cause
540	  34 - Circuit/channel congestion)). It seems that receiving a
541	  RELEASE_COMPLETE in that state blocks one B channel permanently
542	  when the call is cancelled by the caller. Background: The ISDN
543	  phones (Siemens Gigaset 3035 or CX253) we use for testing
544	  additionally contain a DECT base station, which operates as a
545	  different endpoint on the ISDN Bus (TEI). If the DECT base
546	  station is not in use then there are no DECT phones registered to
547	  the base station. The DECT base station responds to an incoming
548	  call not directed toward it with (RELEASE_COMPLETE, cause: no
549	  user responding). * Made initiate_hangup_if_needed() also hangup
550	  the subcall if it is in the NULL state. * Simplified
551	  q931_set_subcall_winner(). JIRA ABE-2745 JIRA SWP-2954
552
553	* rose.c: DMS-100 not receiving caller name anymore. Looks like
554	  DMS-100 is using the same message as Q.SIG to receive the caller
555	  name. Add the ability to decode the ROSE calling name message
556	  defined for the Q.SIG switch on the DMS-100 switch. (closes issue
557	  #18822) Reported by: cmorford Patches: issue18822_v1.4.patch
558	  uploaded by rmudgett (license 664) Tested by: cmorford
559
560	* rose.c, pri_facility.c: * Added switchtype to ROSE invoke
561	  operation not handled message. * Reordered NI2 ROSE message table
562	  so any conflicts with the pirated Q.SIG messages will be in favor
563	  of the NI2 specific messages. This is precautionary only.
564
565	* pri_internal.h, prisched.c: Crash if NFAS swaps D channels on a
566	  call with an active timer. If a Q.931 call record related timer
567	  is started on one NFAS D channel expires after NFAS swaps to
568	  another D channel, then libpri could crash. For example: 1)
569	  Hangup a call. 1a) Send a DISCONNECT. 1b) Start the T305
570	  retransmit timer on the current D channel. 2) The RELEASE comes
571	  in on another D channel. 2a) The found call record switches its
572	  assignment to the new D channel. 2b) Attempt to stop T305.
573	  Unfortunately, the timer was started on another D channel so the
574	  attempt does not find the timer to stop. 3) The hangup sequence
575	  continues normally and the call record is freed since there is
576	  only one call record pool. 4) T305 expires on the original D
577	  channel and crashes the system when it uses the stale call record
578	  pointer it has saved. Made each D channel timer pool have a
579	  unique range of valid timer identifiers. If a given timer
580	  identifier is not in the range for the current NFAS D channel,
581	  then search the D channel group for the original D channel. JIRA
582	  LIBPRI-58 JIRA SWP-2721
583
5842011-02-14 23:33 +0000 [r2200]  Richard Mudgett <rmudgett@digium.com>
585
586	* pri_q921.h, q921.c: Fix I-frame retransmission quirks. Revamped
587	  the I-frame retransmission queue to better comply with Q.921:
588	  Figure B.7/Q.921 (sheet 1 of 10) and Figure B.9/Q.921 (Sheet 5 of
589	  5). The changes prevent retransmitting I-frames when the peer is
590	  busy (RNR) (Q.921 Section 5.6.5) and eliminate an unnecessary
591	  delay sending new I-frames after an I-frame retransmission.
592	  Related to JIRA LIBPRI-60
593
5942011-02-08 16:44 +0000 [r2192]  Richard Mudgett <rmudgett@digium.com>
595
596	* pri.c: Swap of master/slave in pri_enslave() incorrect. Thank
597	  you. All I can say is oops. (closes issue #18769) Reported by:
598	  jcollie Patches: libpri-1.4.12-beta3-swap.patch uploaded by
599	  jcollie (license 412)
600
6012011-02-04 19:59 +0000 [r2187-2190]  Richard Mudgett <rmudgett@digium.com>
602
603	* pri.c, pri_internal.h, q931.c, pri_facility.c, libpri.h: Add
604	  display ie text handling options. The display ie handling can be
605	  controlled independently in the send and receive directions with
606	  the following options: * Block display text data. * Use display
607	  text in SETUP/CONNECT messages for name. * Use display text for
608	  COLP name updates (FACILITY/NOTIFY as appropriate). * Pass
609	  arbitrary display text during a call. Sent in INFORMATION
610	  messages. Received from any message that the display text was not
611	  used as a name. If the display options are not set then the
612	  options default to legacy behavior.
613
614	* q931.c: Add Q931_IE_TIME_DATE to CONNECT message when in network
615	  mode. Add the Q931_IE_TIME_DATE with the current date/time of the
616	  system to the Q.931 CONNECT message when in network mode. The
617	  date/time IE allows attached equipment to synchronize their clock
618	  with the network. Most notably, ISDN phones can display the
619	  current date/time. See issue #18047 about a concern with
620	  non-conforming Siemens terminals. (closes issue #18047) Reported
621	  by: wuwu Patches: timedate.patch uploaded by rmudgett (license
622	  664) Tested by: rmudgett JIRA SWP-2955 JIRA ABE-2747
623
6242011-02-01 00:37 +0000 [r2183]  Richard Mudgett <rmudgett@digium.com>
625
626	* pri.c, pri_internal.h, Makefile, q921.c, q931.c: Enable
627	  LIBPRI_COUNTERS code by default. Removed the conditional
628	  LIBPRI_COUNTERS to include the code unconditionally. Patches:
629	  enable_LIBPRI_COUNTERS_LIBPRI-61.diff uploaded by jbigelow JIRA
630	  LIBPRI-61
631
6322010-12-21 19:46 +0000 [r2169-2175]  Richard Mudgett <rmudgett@digium.com>
633
634	* pri.c, q931.c: Invalid PTMP redirecting signaling as TE towards
635	  NT. * The PTMP redirection signaling (NOTIFY redirection number
636	  and notification code, SETUP redirecting number) is also sent in
637	  PTMP/TE mode. It should only apply in PTMP/NT mode. The call
638	  setup proceeds but the network (Deutsche Telekom) reacts with
639	  ugly ISDN STATUS messages. * Don't send the redirecting number ie
640	  when PTP is also sending the DivertingLegInformation2 facility.
641	  The redirecting number ie is redundant and the network (Deutsche
642	  Telekom) complains about it. JIRA LIBPRI-53 JIRA SWP-2543
643
644	* q931.c: Fix Q.931 retried SETUP not sending facility ies. Resend
645	  standard facility ies when the SETUP is retried by Q.931.
646	  However, one time facility ies are no longer available to add to
647	  a retried SETUP message.
648
649	* pri.c, pri_internal.h, q931.c, pri_facility.c, pri_facility.h:
650	  Add call transfer exchange of subaddresses support and fix PTMP
651	  call transfer signaling. * Add the ability to exchange
652	  subaddresses for ETSI PTMP, ETSI PTP, and Q.SIG for call
653	  transfer. * Fix ETSI PTMP to send the correct messages depending
654	  on the call state for call transfer. NOTE: Some ISDN phones only
655	  handle the NOTIFY message that the EN 300-369 spec says should be
656	  sent only if the call has not connected yet. JIRA LIBPRI-47 JIRA
657	  SWP-2363 Review: https://reviewboard.asterisk.org/r/1051/
658
659	* pri_internal.h, q931.c: Better HOLD/RETRIEVE collision handling.
660	  The upper layer is now initiating HOLD/RETRIEVE signaling. These
661	  changes are needed to help preserve the correct channel id after
662	  a collision.
663
664	* q931.c: Fix regression when reorganized for struct pri and struct
665	  q921_link.
666
6672010-12-14 01:09 +0000 [r2166-2167]  Richard Mudgett <rmudgett@digium.com>
668
669	* q931.c: Return error if q931_notify() cannot send NOTIFY.
670
671	* q931.c: Fix bizarre logic to work as originally intended in
672	  q931_notify(). In revision 238: Don't allow notification codes
673	  outside of the Q.931 spec for switches other than EuroISDN.
674
6752010-11-12 02:31 +0000 [r2113]  Richard Mudgett <rmudgett@digium.com>
676
677	* pri_internal.h, pri_q921.h, q921.c: Asterisk is getting a "No
678	  D-channels available!" warning message every 4 seconds. For PTP
679	  links, libpri generated the PRI_EVENT_DCHAN_DOWN event every time
680	  it failed to bring layer 2 up because the physical layer is down.
681	  For PTP links, made generate the
682	  PRI_EVENT_DCHAN_UP/PRI_EVENT_DCHAN_DOWN only when it enters/exits
683	  the Q.921 superstate consisting of states
684	  7(Q921_MULTI_FRAME_ESTABLISHED) and 8(Q921_TIMER_RECOVERY). Also
685	  changed the PTP link restart delay to be link specific instead of
686	  D channel specific because the GR-303 PTP switch types have more
687	  than one Q.921 link. (closes issue #17270) Reported by: jmls
688
6892010-11-11 00:30 +0000 [r2109-2111]  Richard Mudgett <rmudgett@digium.com>
690
691	* pri_internal.h, q921.c: SABME flood on backup D-channel in NFAS
692	  configuration. Made delay restarting the PTP layer 2 link by the
693	  T200 time instead of immediately. Q.921 does not specify any
694	  particular time to restart the layer 2 link. Q.921 leaves it up
695	  to the upper layers to decide when or if another attempt to bring
696	  layer 2 up is made. Earlier versions of libpri used the T200 time
697	  to restart the link. This is a reimplementaion of -r1878. (closes
698	  issue #18255) Reported by: bklang JIRA SWP-2508
699
700	* q921.c: Minor MDL handler changes. * Clear mdl_error in case we
701	  could not schedule the handler callback. * Change MDL handlers to
702	  not return the handled state since the caller did not care.
703
7042010-11-05 20:05 +0000 [r2098-2105]  Richard Mudgett <rmudgett@digium.com>
705
706	* pri.c, pri_internal.h, pri_q921.h, q921.c: Added TEI identity
707	  check feature to reclaim dead TEIs. This is the new feature
708	  portion of JIRA LIBPRI-51/SWP-2453.
709
710	* q921.c: Q.921 TEI assignment procedure corrections. * We should
711	  send the TEI identity denied message with TEI=127 when the TEI
712	  pool is exhausted. * We should remove our TEI if we see a TEI
713	  identity assign message assigning our TEI to someone else.
714
715	* pri_q921.h, q921.c: Convert TEI identity defines to enum and
716	  create 2str() function.
717
718	* pri_q921.h, q921.c: Remove unneeded struct
719	  q921_link.mdl_error_state member.
720
721	* q921.c: Remove all TEIs when NT PTMP starts. Remove all TEIs when
722	  a NT PTMP link is started and there are no other links to make
723	  sure there are no devices that think they have a TEI. A device
724	  may think it has a TEI if the upper layer program is restarted or
725	  the system reboots. This fixes the bug portion of JIRA
726	  LIBPRI-51/SWP-2453.
727
728	* q921.c: Mainly put space after switch and while keywords.
729
7302010-11-02 19:11 +0000 [r2088]  Richard Mudgett <rmudgett@digium.com>
731
732	* q921.c: B410P gets incoming call packets on ISDN but Asterisk
733	  doesn't see the call. The Cisco 1751 with VIC 2-BRI ports sends
734	  out SETUP messages on the broadcast TEI as if the BRI were PTMP
735	  even though it is configured for PTP mode. Make PTP mode also
736	  accept frames on SAPI=0, TEI=127 (Broadcast). (closes issue
737	  #18232) Reported by: lelio Patches: issue18232_v1.4.patch
738	  uploaded by rmudgett (license 664) Tested by: lelio
739
7402010-10-21 18:00 +0000 [r2063-2079]  Richard Mudgett <rmudgett@digium.com>
741
742	* doc/cc_ptmp_agent.fsm, pri_internal.h, q931.c,
743	  doc/cc_ptp_agent.fsm, doc/cc_qsig_agent.fsm, pri_cc.c,
744	  doc/cc_ptmp_agent_flattened.fsm, doc/cc_ptp_agent_flattened.fsm,
745	  doc/cc_qsig_agent_flattened.fsm: Fixes CC agents not
746	  automatically clearing if T309 clears the original call. Incoming
747	  calls with CC enabled will not automatically clear the CC offer
748	  record when the call is aborted by T309 processing. All CC agent
749	  FSM's have this problem (PTMP, PTP, and Q.SIG). To reproduce: 1)
750	  Place incoming call to Asterisk/libpri 2) Either before or after
751	  the call is answered, bring the ISDN link down. 3) T309
752	  processing, T309 timeout, or TEI removal will leave the CC agent
753	  FSM in the CC available state. The problem is indicated by the
754	  "cc report status" CLI command showing a status of CC offered to
755	  caller but it will never timeout. The FSM's can be manually
756	  cleared by using the "cc cancel all" or "cc cancel core" CLI
757	  commands. JIRA LIBPRI-46 JIRA SWP-2241
758
759	* pri.c, pri_internal.h: Partial support for dynamic interfaces
760	  with NFAS. To have some support for dynamic interfaces, the
761	  master NFAS D channel control structure will always exist even if
762	  it is abandoned/deleted by the upper layer. The master/slave
763	  pointers ensure that the correct master will be used.
764
765	* pri.c, pri_internal.h, pri_q921.h, pri_aoc.c, pri_q931.h, q921.c,
766	  q931.c, pri_facility.c, pri_cc.c, prisched.c: Extract the layer 2
767	  link structure out of struct pri. This completes the layer 2 link
768	  and Q.931 call control restructuring. Some code is now simplified
769	  since there is only one D channel control structure and the
770	  amount of allocated memory is reduced.
771
772	* pri.c, pri_internal.h, pri_q921.h, pri_q931.h, q921.c, q931.c,
773	  pri_facility.c: Restructure the Q.931 call record to layer 2 link
774	  association. This is in anticipation of extracting a layer 2 link
775	  structure out of struct pri. Also completes fixing timer value
776	  access for the rest of libpri. The timer access must always be on
777	  the D channel control structure (Master). May have fixed some
778	  events from timeouts not being passed to the upper layer. The
779	  timeout events must always be on the D channel control structure
780	  (Master).
781
782	* pri_q921.h, q921.c: Logically separate Q.921 TEI link processing
783	  from D channel control. This is in anticipation of extracting a
784	  layer 2 link structure out of struct pri. Also fixes Q.921 timer
785	  value access. The timer access must always be on the D channel
786	  control structure (Master).
787
7882010-10-16 04:34 +0000 [r2015-2042]  Richard Mudgett <rmudgett@digium.com>
789
790	* q921.c: Dump Q.931 message using the TEI value the message came
791	  in with.
792
793	* pri_internal.h, q931.c: Create two versions of call ptr verify.
794	  One gripes and one does not.
795
796	* q931.c: Crash when receiving an unknown/unsupported message type.
797	  Fix double free of a call record and the subsequent continued use
798	  of the freed call record when receiving an unsupported/unknown
799	  message type. (closes issue #17968) Reported by: gelo Patches:
800	  issue_17968_v1.4.patch uploaded by rmudgett (license 664)
801
802	* pri.c, pri_internal.h, pri_aoc.c, q931.c, pri_facility.c,
803	  pri_cc.c: Segfault in pri_schedule_del() - ctrl value is invalid.
804	  Validate the given call pointer in libpri API calls. If the call
805	  pointer is not an active call record then a complaint message is
806	  issued and the API call aborts. The call pointer is likely stale.
807	  This patch is defensive. More information is needed to figure out
808	  why Asterisk still has a call pointer during its hangup sequence.
809	  (closes issue #17522) (closes issue #18032) Reported by:
810	  schmoozecom Patches: issue_18032_v1.4.patch uploaded by rmudgett
811	  (license 664) Tested by: rmudgett
812
8132010-10-07 04:00 +0000 [r2009]  Tilghman Lesher <tilghman@meg.abyt.es>
814
815	* Makefile: Minor changes to make libpri build on Mac OS X
816
8172010-09-16 21:24 +0000 [r2001]  Russell Bryant <russell@digium.com>
818
819	* Makefile: Makefile tweaks to allow building for code coverage
820	  analysis.
821
8222010-09-13 21:21 +0000 [r1982-1991]  Richard Mudgett <rmudgett@digium.com>
823
824	* pri_q931.h, q921.c, q931.c: PRI links do not retain active calls
825	  if the link comes back before T309 expires. The DL-ESTABLISH
826	  confirm event was not passed from Q.921 to Q.931 so Q.931 never
827	  cancelled the T309 timer. Refactored q931_dl_tei_removal() and
828	  q931_dl_indication() into q931_dl_event() to allow the
829	  DL-ESTABLISH confirm/indication and DL-RELEASE confirm/indication
830	  events to be passed to Q.931.
831
832	* pri.c, pri_internal.h, pri_q931.h, q921.c, q931.c, prisched.c:
833	  BRI PTMP: Active channels not cleared when the interface goes
834	  down. If the connection to the terminal is lost while there are
835	  open channels on the interface, red alarm is reported, but the
836	  open channels are never cleared. Additionally, if you manually
837	  try to channel request hangup, Asterisk crashes. For PTMP, the
838	  T309 processing was not searching the call pool on the master
839	  control record. Additionally, for NT PTMP, the timeout events
840	  were not passed to the upper layer because the events were not
841	  put on the master control record where timer processing expects
842	  them. (closes issue #17865) Reported by: wimpy Patches:
843	  issue17865_v1.4.patch uploaded by rmudgett (license 664) Tested
844	  by: rmudgett, wimpy
845
8462010-09-10 23:15 +0000 [r1976]  Richard Mudgett <rmudgett@digium.com>
847
848	* doc/cc_ptmp_agent.fsm, doc/cc_ptmp_agent_flattened.fsm: Fix
849	  spelling error in PTMP agent FSM files.
850
8512010-09-08 21:43 +0000 [r1958-1965]  Richard Mudgett <rmudgett@digium.com>
852
853	* pri.c: Added more parameter checks to pri_set_timer() and
854	  pri_get_timer(). Made pri_dump_info_str() output a line for each
855	  Q.921 TEI Tx queue when LIBPRI_COUNTERS is defined.
856
857	* q921.c, q931.c: Made Q.921 delay events to Q.931 if the event
858	  could immediately generate response frames. Q.921 was passing a
859	  q931_dl_indication(up) event to Q.931 before it was finished
860	  processing the frame. The q931_dl_indication(up) event could
861	  immediately send STATUS messages in the Q.921 intermediate state
862	  that would then get stuck in the tx queue with an invalid N(S).
863	  Q.921 was passing i-frames to Q.931 before it was finished
864	  processing the frame. The i-frames could cause Q.931 to
865	  immediately generate a response message that may cause the peer
866	  to see the P/F bit as incorrect. Delayed passing
867	  q931_dl_indication(up) events and i-frames to Q.931 until Q.921
868	  has completed processing the frame event. (The Q.921 SDL diagrams
869	  were designed with this assumption.) (closes issue #17360)
870	  Reported by: shawkris Patches: issue17360_v1.4.patch uploaded by
871	  rmudgett (license 664) Tested by: shawkris, rmudgett
872
873	* q931.c: Prevent a CONNECT message from sending a CONNECT
874	  ACKNOWLEDGE in the wrong state. Filter the processing of the
875	  CONNECT message to prevent libpri from sending a CONNECT
876	  ACKNOWLEDGE when the call is in an inappropriate state. This can
877	  happen when we hang up an outgoing call after the other end has
878	  sent a CONNECT but before we have processed the CONNECT. (issue
879	  #17360) Reported by: shawkris Patches:
880	  issue17360_con_ack_v1.4.patch uploaded by rmudgett (license 664)
881
882	* q931.c: Balance curly braces in post_handle_q931_message().
883
8842010-09-02 17:33 +0000 [r1955]  Richard Mudgett <rmudgett@digium.com>
885
886	* pri.c: Don't crash in __pri_new_tei() if a GR303 subchannel
887	  creation fails.
888
8892010-08-30 20:49 +0000 [r1918-1929]  Richard Mudgett <rmudgett@digium.com>
890
891	* q921.c: Reduced fake MDL-ERROR (Z) message severity to be visible
892	  only when debugging enabled.
893
894	* q921.c, q931.c: Q.921/Q.931 message debug output improvements.
895	  The Q.931 message decode debug output now will follow the correct
896	  Q.921 header decode if Q.921 message dumping is enabled. Also the
897	  Q.931 message decode will happen when the message actually goes
898	  out on the line instead of when Q.931 passes the message to
899	  Q.921. Q.921 may have to request a TEI, bring the connection up,
900	  or retransmit previous frames before it can actually send the new
901	  message.
902
903	* q921.c: Q.921 improvements from comparing Q.921 SDL diagrams with
904	  implementation. * Handle sending and receiving DM response frames
905	  as needed. * Added handling of received FRMR frames. * Completed
906	  implementation of Q921_AWAITING_RELEASE state. (State is
907	  currently unreachable since we have no API to initiate sending
908	  the DISC message.) * Better NT PTMP TEI allocation. * Reduced
909	  more ERROR level severity messages so users will stop panicking
910	  when they see ERROR. This is especially true for the Q.921
911	  MDL-ERROR messages. * Added better Q.921 visibility when normal
912	  debug message level is enabled.
913
914	* q921.c: ISDN BRI does not recover from line faults Q.921 was
915	  getting stuck in state 2 (Q921_ASSIGN_AWAITING_TEI). For some
916	  reason the network was removing the TEI. Libpri then immediately
917	  tried to get a new TEI assigned. The network did not reply to the
918	  N202(3) attempts to get a new TEI. Libpri then just gave up
919	  trying but did not leave the state. Some paths in Q.921 Figure
920	  B.3 were not implemented. Q.921 now transitions to the
921	  Q921_TEI_UNASSIGNED state when the N202 count is exceeded. Q.921
922	  will wait there until an incoming or outgoing call is attempted.
923	  * Fixed initializing the n202_counter. Not initializing the
924	  n202_counter would cause the Q921_TEI_IDENTITY_REQUEST to
925	  unexpectedly not go out and due to how state transitions were
926	  done, Q.921 would get stuck in the Q921_ASSIGN_AWAITING_TEI
927	  state. * Fixed start T202 timer fail causing Q.921 to get stuck
928	  in the Q921_ASSIGN_AWAITING_TEI state if the network did not
929	  respond to the request. * Fixed handling of
930	  Q921_TEI_IDENTITY_REMOVE to do the MDL-REMOVE primitive
931	  (q921_mdl_remove()) instead of transitioning directly to the
932	  Q921_TEI_UNASSIGNED state. Necessary state clean-up was not
933	  getting done. * Minor tweaks to q921_mdl_remove(). The worst
934	  problem was erroneously generating an error message. * Fixed
935	  potential for sending I-frames with an invalid TEI. The I-frame
936	  could have been queued when Q.921 did not have an assigned TEI. *
937	  Fixed testing of the q931_receive() return value when a UI-frame
938	  is received. (closes issue #17570) Reported by: jcovert Patches:
939	  issue17570_v1.4.11.3_v3.patch uploaded by rmudgett (license 664)
940	  issue17570_v1.4_v3.patch uploaded by rmudgett (license 664)
941	  Tested by: jcovert, rmudgett
942
9432010-08-27 23:37 +0000 [r1894-1912]  Richard Mudgett <rmudgett@digium.com>
944
945	* pri.c, q931.c: Convert most references of Q931_MAX_TEI to use
946	  ARRAY_LEN(). * Minor comment correction in q931_destroycall(). *
947	  Redundant logic removal q931_destroycall(). "W && X && (Y || W &&
948	  Z)" is the same as "W && X && (Y || Z)"
949
950	* rose.c, rosetest.c: Add support to receive ECMA-164 2nd edition
951	  OID name ROSE messages. NOTE: To add support to send the old
952	  style name messages will require implementing them as new ROSE
953	  operation message types. NOTE: To actually use them would likely
954	  require implementing another version of the Q.SIG switch type.
955	  Like (NI1 & NI2) and (4ess & 5ess) for example. Patches:
956	  libpri37.patch uploaded by rmudgett (license 664) JIRA SWP-2100
957	  JIRA LIBPRI-37
958
959	* pri.c: Make pri_dump_event() only print the event name.
960
9612010-08-25 17:17 +0000 [r1883-1884]  Richard Mudgett <rmudgett@digium.com>
962
963	* rosetest.c: Added gripe check to rosetest for invalid operation
964	  and error codes.
965
966	* q921.c: Don't silently fail to post our fake MDL-ERROR(Z).
967
9682010-08-23 22:13 +0000 [r1878]  Matthew Fredrickson <creslin@digium.com>
969
970	* q921.c: Add silly fake MDL error Z for kicking L2 to reactivate
971	  if a DISC or DM is received in proper states on PTP links.
972
9732010-08-06 18:35 +0000 [r1852-1853]  Richard Mudgett <rmudgett@digium.com>
974
975	* q931.c: No audio on inbound J1 calls. Incoming calls specifying
976	  the channel using a slot map could not negotiate a B channel
977	  correctly. Libpri historically has handled this as an any channel
978	  request. However, when chan_dahdi picked a new channel, libpri
979	  sent out the recorded slot map and not the new channel selected.
980	  Thus the two endpoints would be attached to different B channels
981	  and the parties would not hear anything or would hear the wrong
982	  parties. This patch restores the historical preference of sending
983	  out the channel id using the channel number method if a channel
984	  number is available. JIRA LIBPRI-35 Patches:
985	  libpri-35_v1.4.11.3.patch uploaded by rmudgett (license 664)
986	  libpri-35_v1.4.patch uploaded by rmudgett (license 664) Tested
987	  by: rmudgett
988
989	* q921.c: Learn (AGAIN!) why state 7 and state 8 transitions were
990	  suppressed.
991
9922010-08-03 23:04 +0000 [r1842-1848]  Richard Mudgett <rmudgett@digium.com>
993
994	* q921.c, q931.c: Improved Q.921/Q.931 debug output. * Debug output
995	  for a sent Q.931 message in TE PTMP now uses the best available
996	  TEI number instead of always using 127. It could still be wrong
997	  if layer 2 does not have a TEI assigned. * Q.921 debug output is
998	  grouped better so a decoded message is not split by a blank line.
999	  * The Q.921 state is also decoded to a name.
1000
1001	* q921.c: Q921_TIMER_RECOVERY SDL issue in q921_rnr_rx() Added
1002	  missing code specified by Q.921 (Figure B.8 Page 85) when receive
1003	  RNR in "Timer Recovery" state. (closes issue #16791) Reported by:
1004	  alecdavis Patches: rnr_timer_recovery.diff.txt uploaded by
1005	  alecdavis (license 585)
1006
1007	* q921.c: Renamed local struct pri *pri variables to struct pri
1008	  *ctrl in q921.c. The context tagging for my editor is much
1009	  happier now that the struct and the variable do not have the same
1010	  name. (At least for this file.)
1011
10122010-07-22 17:59 +0000 [r1836]  Richard Mudgett <rmudgett@digium.com>
1013
1014	* pri.c, libpri.h: Add pri_new_bri_cb() API - Create BRI D-channel
1015	  with user defined I/O callbacks and data There currently exists a
1016	  pri_new_cb() API call that allows you to create a PRI with
1017	  user-defined I/O read and write callbacks, and option userdata.
1018	  Add the same capability for BRI interfaces by adding a
1019	  pri_new_bri_cb() API function. (closes issue #16477) Reported by:
1020	  nic_bellamy Patches: pri_new_bri_cb_api.patch uploaded by nic
1021	  bellamy (license 299) (with minor cosmetic changes)
1022
10232010-07-16 22:55 +0000 [r1828-1833]  Richard Mudgett <rmudgett@digium.com>
1024
1025	* pritest.c, Makefile: pritest hadn't been ported to DAHDI pritest
1026	  hadn't been ported to DAHDI, made the trivial changes to make it
1027	  work. (I haven't found the equivalent to zap_playf, so changed
1028	  the behaviour to an echo box) (closes issue #17274) Reported by:
1029	  horape Patches: pritest.diff uploaded by horape (license 1035)
1030	  (with minor cosmetic changes)
1031
1032	* rosetest.c: Only need to output one version of the version
1033	  message.
1034
1035	* rosetest.c: Added a libpri version output line as a sanity check
1036	  for rosetest.
1037
1038	* rosetest.c, rose_qsig_name.c: Calling name not successfully
1039	  processed on inbound QSIG PRI calls from Mitel PBX The alternate
1040	  form of the Q.SIG Name sequence that allows manufacturer
1041	  extensions for CallingName, CalledName, ConnectedName, and
1042	  BusyName was not consuming the next ASN.1 tag. The code that
1043	  processed the ASN.1 Name structure was then using a stale tag
1044	  value. The stale tag value was then rejected with the "Did not
1045	  expect" message. I have added a test case using the supplied PRI
1046	  debug output to the rosetest utility to verify that this
1047	  alternate encoding is tested in the future. (closes issue #17619)
1048	  Reported by: jims8650 Patches: issue17619_v1.4.11.3.patch
1049	  uploaded by rmudgett (license 664) Tested by: rmudgett
1050
10512010-06-29 16:15 +0000 [r1823]  Richard Mudgett <rmudgett@digium.com>
1052
1053	* pri_internal.h, q931.c: [regression] Calling Number assignment
1054	  logic change in libpri 1.4.11. Restored the old behaviour if
1055	  there is more than one calling number in the incoming SETUP
1056	  message. A network provided number is reported as ANI. (closes
1057	  issue #17495) Reported by: ibercom Patches:
1058	  issue_17495_v1.4.11.2.patch uploaded by rmudgett (license 664)
1059	  issue_17495_v1.4.patch uploaded by rmudgett (license 664) Tested
1060	  by: ibercom
1061
10622010-06-25 20:22 +0000 [r1818]  Richard Mudgett <rmudgett@digium.com>
1063
1064	* q931.c: PRI: XXX Missing handling for mandatory IE 12 The switch
1065	  is sending the Connected Address ie (12) and there was no handler
1066	  for that ie. That is why the reporter was getting the "Missing
1067	  mandatory ie" message. The simple fix is to just add the missing
1068	  receive handler for that ie. Since connected line (COLP)
1069	  functionality has been added and this is just an alternate for
1070	  the Connected Number ie (0x4C), the handler was already written.
1071	  I also changed the ie name to what Q.931 calls it: Connected
1072	  Address. Also some minor code clean up in q931_handle_ie() and
1073	  ie2str(). JIRA SWP-1678 (closes issue #16915) Reported by: kobaz
1074
10752010-06-04 22:45 +0000 [r1810]  Richard Mudgett <rmudgett@digium.com>
1076
1077	* pri_facility.c: Q.SIG calling name in FACILITY message not
1078	  reported to the upper layer. Q.SIG can send the CallingName,
1079	  CalledName, and ConnectedName in stand alone FACILITY messages.
1080	  If the CallingName was not sent in the SETUP message, the caller
1081	  id name was not reported to the upper layer. (closes issue
1082	  #17458) Reported by: jsmith Patches:
1083	  issue17458_post_qsig_name.patch uploaded by rmudgett (license
1084	  664) issue17458_post_qsig_name_v1.4.11.1.patch uploaded by
1085	  rmudgett (license 664) Tested by: rmudgett, jsmith
1086
10872010-06-01 22:59 +0000 [r1785-1794]  Richard Mudgett <rmudgett@digium.com>
1088
1089	* pri.c: Inband disconnect setting does nothing on BRI spans. The
1090	  acceptinbanddisconnect flag is not inherited when creating a new
1091	  TEI and thus rendering the setting (and its respective equivalent
1092	  in Asterisk) a no-op on BRI setups. (closes issue #15265)
1093	  Reported by: paravoid Patches: inband-bri.diff uploaded by
1094	  paravoid (license 200) Tested by: paravoid
1095
1096	* rose.c, rosetest.c, q931.c: Multi component FACILITY messages
1097	  only process the first component. The code was only processing
1098	  the first ROSE component in the facility message. I also updated
1099	  rosetest.c to have a multiple component ROSE message test.
1100	  (closes issue #17428) Reported by: patrol-cz Patches:
1101	  issue17428.patch uploaded by rmudgett (license 664) Tested by:
1102	  rmudgett, patrol-cz
1103
11042010-05-28 22:34 +0000 [r1776]  David Vossel <dvossel@digium.com>
1105
1106	* pri_internal.h, pri_aoc.c, q931.c, pri_facility.c,
1107	  pri_facility.h, libpri.h: support for sending ETSI advice of
1108	  charge Review: https://reviewboard.asterisk.org/r/619/
1109
11102010-05-28 21:50 +0000 [r1723-1767]  Richard Mudgett <rmudgett@digium.com>
1111
1112	* rose_etsi_mwi.c (added), rose.c, rosetest.c, rose_internal.h,
1113	  Makefile, rose.h, pri_facility.c, libpri.h, rose_qsig_mwi.c: ETSI
1114	  Message Waiting Indication (MWI) support. Add the ability to
1115	  report waiting messages to ISDN endpoints (phones). Relevant
1116	  specification: EN 300 650 and EN 300 745 Review:
1117	  https://reviewboard.asterisk.org/r/600/
1118
1119	* rose.c, rosetest.c, pri_internal.h, rose.h, pri_facility.c,
1120	  libpri.h: ETSI Malicious Call ID support. Add the ability to
1121	  report malicious callers. Relevant specification: EN 300 180
1122	  Review: https://reviewboard.asterisk.org/r/575/
1123
1124	* pri.c, pri_internal.h, pri_q931.h, q931.c, libpri.h: ETSI Call
1125	  Waiting support. Add the ability to announce a call to an
1126	  endpoint when there are no B channels available. A call waiting
1127	  call is a SETUP message with no B channel selected. Relevant
1128	  specification: EN 300 056, EN 300 057, EN 300 058 Review:
1129	  https://reviewboard.asterisk.org/r/569/
1130
1131	* pri_internal.h, pri_aoc.c (added), Makefile, pri_facility.c,
1132	  rose_etsi_aoc.c, pri_facility.h, libpri.h: ETSI Advice Of Charge
1133	  (AOC) event reporting. This feature passes ETSI AOC-S, AOC-D, and
1134	  AOC-E message information to the upper layer (i.e. Asterisk) for
1135	  processing. Relevant specification: EN 300 182 Consideration was
1136	  made for the possible future addition of Q.SIG AOC support
1137	  (ECMA-212) with the events passed to the upper layer. Review:
1138	  https://reviewboard.asterisk.org/r/538/
1139
1140	* pri.c, pri_internal.h, q931.c, pri_facility.c, pri_facility.h,
1141	  libpri.h: Added ETSI Explicit Call Transfer (ECT) support. Added
1142	  ability to send and receive ETSI ECT messages to eliminate
1143	  tromboned calls. Added ETSI support to an existing API call to
1144	  send ECT messages when the upper level indicates to transfer
1145	  specified calls. The libpri API was extended to indicate to the
1146	  upper layer that the far end requests the transfer of the
1147	  indicated calls. Review: https://reviewboard.asterisk.org/r/521/
1148
11492010-05-26 16:01 +0000 [r1714]  Richard Mudgett <rmudgett@digium.com>
1150
1151	* pri.c, doc/cc_ptmp_monitor_flattened.fsm, pri_internal.h,
1152	  Makefile, q931.c, doc/cc_ptp_agent.fsm, doc/cc_qsig_agent.fsm,
1153	  pri_cc.c (added), rose_qsig_cc.c (added), prisched.c,
1154	  doc/cc_ptmp_agent_flattened.fsm, rose_etsi_cc.c (added),
1155	  doc/cc_ptmp_monitor.fsm, rosetest.c, rose.c, rose_internal.h,
1156	  doc/cc_ptmp_agent.fsm, pri_q931.h,
1157	  doc/cc_qsig_monitor_flattened.fsm,
1158	  doc/cc_ptp_monitor_flattened.fsm, rose.h, pri_facility.c,
1159	  pri_facility.h, doc/cc_qsig_agent_flattened.fsm,
1160	  doc/cc_ptp_agent_flattened.fsm, doc (added), libpri.h,
1161	  doc/cc_qsig_monitor.fsm, doc/cc_ptp_monitor.fsm: Add Call
1162	  Completion Suppplementary Service Call Completion Supplementary
1163	  Service (CCSS) added for the following switch types: ETSI PTMP,
1164	  ETSI PTP, Q.SIG. Specifications: ETS 300 359 CCBS for PTMP and
1165	  PTP ETS 301 065 CCNR for PTMP and PTP ECMA-186 Call Completion
1166	  for Q.SIG Several support services were added to support CC:
1167	  Dummy Call Reference. Q.931 REGISTER message. Dynamic expansion
1168	  of the number of available timers (up to 8192). Enhanced facility
1169	  message handling. Current implementation limitations preclude the
1170	  following: CC service retention is not supported. Q.SIG path
1171	  reservation is not supported. (closes issue #14292) Reported by:
1172	  tomaso Tested by: rmudgett JIRA SWP-1493 Review:
1173	  https://reviewboard.asterisk.org/r/522/
1174
11752010-05-20 Russell Bryant <russell@digium.com>
1176
1177	* libpri 1.4.11 released.
1178
11792010-05-19 21:50 +0000 [r1703]  Richard Mudgett <rmudgett@digium.com>
1180
1181	* q931.c: T309 should not do anything with the global call
1182	  reference call record.
1183
11842010-05-19 21:30 +0000 [r1702]  Matthew Fredrickson <creslin@digium.com>
1185
1186	* q921.c: It's amazing what a tiny bug in the Q.921 SDL diagram can
1187	  do to cause trouble.... Fix issue where V_R was not reset and N_R
1188	  was consequentially transmitted incorrectly. Particularly in
1189	  layer 2 initiated re-establishments.
1190
11912010-05-11 22:14 +0000 [r1688]  Richard Mudgett <rmudgett@digium.com>
1192
1193	* pri.c, pri_internal.h, q931.c, libpri.h: Dialing an invalid
1194	  extension causes incomplete hangup sequence. Revision -r1489
1195	  corrected a deviation from Q.931 Section 5.3.2. However, this
1196	  resulted in an unexpected behaviour change to the upper layer
1197	  (Asterisk). This change restores the legacy hangup behaviour if
1198	  the new API call is not used. Use pri_hangup_fix_enable() to
1199	  follow Q.931 Section 5.3.2 call hangup better. (closes issue
1200	  #17104) Reported by: shawkris Tested by: rmudgett
1201
12022010-04-26 19:54 +0000 [r1664-1675]  Richard Mudgett <rmudgett@digium.com>
1203
1204	* q931.c: Simplified some protocol discriminator handling code.
1205
1206	* q931.c: Garbage on the end of Q.931 messages causing calls to
1207	  fail to connect. The DAHDI driver had a bug where an extra byte
1208	  appeared on the end of Q.931 messages. This garbage byte caused
1209	  the message to be discarded with the diagnostic "XXX Message
1210	  longer than it should be?? XXX". The Q.931 message will no longer
1211	  be discarded if there were earlier ie's in the message. This
1212	  patch also addresses the potential problem of reading beyond the
1213	  buffer when trying to parse the garbage data. Thanks to roeften
1214	  for the base patch. (closes issue #14378) Reported by: timking
1215
1216	* q921.c: Avoid using a cast.
1217
1218	* q931.c: Cleanup some pri debug output line presentation.
1219
12202010-04-19 22:40 +0000 [r1625-1630]  Richard Mudgett <rmudgett@digium.com>
1221
1222	* pri_internal.h, pri_q931.h, q931.c, pridump.c: PTMP NT mode call
1223	  reference value ambiguity. Since the TE side can pick CR values
1224	  independently, the TE CR needs to be qualified by TEI to
1225	  distinguish CR values from other devices. Without doing this,
1226	  multiple phones on the BRI line will have intermittent call
1227	  failures. JIRA LIBPRI-30 Also eliminated some wierdness in
1228	  q931_status() and several places where it is called.
1229
1230	* q921.c: Fix potential crash when pridump.c calls q921_dump() with
1231	  NULL pri ptr.
1232
12332010-04-15 18:43 +0000 [r1596]  Richard Mudgett <rmudgett@digium.com>
1234
1235	* pri.c, pri_internal.h: Make some internal routines available to
1236	  other libpri components.
1237
12382010-04-09 21:43 +0000 [r1577]  Richard Mudgett <rmudgett@digium.com>
1239
1240	* q931.c: Only one PROCEEDING message per call please.
1241
12422010-03-18 15:50 +0000 [r1534-1547]  Richard Mudgett <rmudgett@digium.com>
1243
1244	* q931.c: Move a comment closer to where it has relevance.
1245
1246	* pri.c, pri_internal.h, q921.c, q931.c, pri_facility.c:
1247	  Miscellaneous simple reorganization. 1) Make PRI_MASTER() no
1248	  longer check for a NULL parameter. It is the caller's
1249	  responsibility. Not many callers could have passed a NULL without
1250	  crashing before or after anyway. 2) Replace calls to
1251	  q931_is_ptmp() with PTMP_MODE(). They were equivalent. 3) Made
1252	  the following boolean config options bit fields: sendfacility,
1253	  overlapdial, chan_mapping_logical, and service_message_support.
1254
12552010-03-02 23:47 +0000 [r1511]  Richard Mudgett <rmudgett@digium.com>
1256
1257	* pri.c, pri_internal.h, q921.c: Restore ability to change the
1258	  Q.921 K value. The Q.921 rewrite only used value of PRI_TIMER_K
1259	  right after it was set to the default. The Q.921 window size was
1260	  thus no longer alterable by the user. (closes issue #16909)
1261	  Reported by: alecdavis Patches: pritimer.libpri.diff.txt uploaded
1262	  by alecdavis (license 585) Tested by: alecdavis
1263
12642010-02-11 21:47 +0000 [r1488-1489]  Richard Mudgett <rmudgett@digium.com>
1265
1266	* q931.c: Must send DISCONNECT if we have sent a response to a
1267	  SETUP message. Q.931 Section 5.3.2 a) says we send a
1268	  RELEASE_COMPLETE to reject a call SETUP if we have not already
1269	  sent a message in response to the SETUP message.
1270
1271	* pri.c, libpri.h: Minor comment changes.
1272
12732010-02-11 17:35 +0000 [r1482]  Wendell Thompson <wthompson@digium.com>
1274
1275	* Makefile: Added CPUARCH option for selecting a 32-bit build from
1276	  the command line.
1277
12782010-02-08 23:29 +0000 [r1470-1476]  Matthew Fredrickson <creslin@digium.com>
1279
1280	* q921.c: Revert useless check of pri->t200_timer value, since
1281	  scheduler routines check the value anyways.
1282
1283	* q921.c: Make sure we set the l3initiated flag when PTP links are
1284	  attempted to be re-established
1285
12862010-02-05 23:34 +0000 [r1464]  Richard Mudgett <rmudgett@digium.com>
1287
1288	* pri.c: pri_restart() is no longer needed since the Q.921 rewrite.
1289	  Don't output error message for a deprecated function.
1290
12912010-01-29 21:55 +0000 [r1457]  Matthew Fredrickson <creslin@digium.com>
1292
1293	* q921.c: Sense of statement was inverted from what it should have
1294	  been. Might have caused false T200 operation on reception of
1295	  I-frames.
1296
12972010-01-29 19:32 +0000 [r1451]  Richard Mudgett <rmudgett@digium.com>
1298
1299	* q921.c: Only set eres if there actually is an event to pass up.
1300	  (issue 16713)
1301
13022010-01-29 17:27 +0000 [r1445]  Matthew Fredrickson <creslin@digium.com>
1303
1304	* q921.c: Fix bug in which an event was lost if an I-frame was
1305	  received during a timer recovery state (related to #16713)
1306
13072010-01-26 21:04 +0000 [r1439]  Richard Mudgett <rmudgett@digium.com>
1308
1309	* q921.c: Don't be so noisy when D channel is down.
1310
13112010-01-19 21:53 +0000 [r1426]  Richard Mudgett <rmudgett@digium.com>
1312
1313	* q921.c, q931.c: Fix TE PTMP side sending FACILITY messages on the
1314	  dummy call reference. Only the NT PTMP side can send Q.931
1315	  broadcast messages. Also removed an inaccurate comment in Q.921
1316	  and made q921_mdl_handle_error_callback() call the correct struct
1317	  pri free function.
1318
13192010-01-15 18:28 +0000 [r1414]  Richard Mudgett <rmudgett@digium.com>
1320
1321	* q921.c, q931.c: Make some debugging messages conditional and some
1322	  minor reformating changes.
1323
13242010-01-13 19:37 +0000 [r1406]  Matthew Fredrickson <creslin@digium.com>
1325
1326	* pri.c, pri_internal.h, pri_q921.h, Makefile, pri_q931.h, q921.c,
1327	  q931.c: Merge of Q.921 rewrite branch for wider testing.
1328
13292009-12-09 20:59 +0000 [r1374]  Richard Mudgett <rmudgett@digium.com>
1330
1331	* q931.c: Extracted q931_fill_ring_event() from
1332	  post_handle_q931_message(). Done so it is easier to see what was
1333	  done in ccbs branch.
1334
13352009-11-21 02:40 +0000 [r1345-1351]  Richard Mudgett <rmudgett@digium.com>
1336
1337	* pri.c, pri_internal.h: Fix debug output so built up output lines
1338	  are readable again. A recent change to Asterisk put the span
1339	  number at the begining of each line. This is a good thing if you
1340	  need to debug multiple spans or forget which span you are
1341	  debugging. Unfortunately, any pri_message() output that is not a
1342	  complete line is messed up. The pri_message() function now will
1343	  accumulate line output until a '\n' is seen on the end.
1344
1345	* pri_internal.h, q931.c, pri_facility.c: Delay processing of
1346	  facility ie's after all other ie's are processed. * Some ROSE
1347	  message processing depends on the presence of other ies. The
1348	  DivertingLegInformation1, and 3 messages will be used as the
1349	  default connected line number if the connected number ie is not
1350	  present. The redirecting number ie is used as a default to the
1351	  redirecting number in the DivertingLegInformation2 message if the
1352	  ROSE message does not contain it and the redirecting number ie is
1353	  present. * Some ROSE message processing depends upon other ie
1354	  values. The StatusRequest, CCBS-T-Call, and CcRingout messages
1355	  collectively need the BC, HLC, LLC, called number, called
1356	  subaddress, calling number, and calling subaddress ie information
1357	  to be available.
1358
13592009-11-18 00:36 +0000 [r1331]  Richard Mudgett <rmudgett@digium.com>
1360
1361	* q931.c: Merged revision 1328 from
1362	  https://origsvn.digium.com/svn/libpri/team/mattf/libpri-1.4-q921-rewrite
1363	  .......... r1328 | mattf | 2009-11-17 15:16:11 -0600 (Tue, 17 Nov
1364	  2009) | 1 line outboundbroadcast isn't set at this time, since it
1365	  is set after the message is transmited, so we must use other
1366	  criteria to determine the need for broadcast on a setup
1367	  ..........
1368
13692009-11-14 00:20 +0000 [r1310-1322]  Richard Mudgett <rmudgett@digium.com>
1370
1371	* pri.c, pri_internal.h, q931.c, pri_facility.c, pri_facility.h,
1372	  libpri.h: Reimplement callback mechanism to handle APDU response
1373	  messages that we care about. 1) No sent messages will remain in
1374	  the APDU queue unless they have an active timer to remove them.
1375	  The dummy call reference call and global call reference call
1376	  structures will not act like a memory leak to sent messages. 2)
1377	  The new T-RESPONSE timer will be the generic response guard if
1378	  the standards do not otherwise specify a timer for a message
1379	  response. 3) The callback will be called. If it is called because
1380	  of a response message, then the callback has an opportunity to
1381	  indicate if more responses are expected.
1382
1383	* libpri.h: We now have 32 timers. No need to reserve minimum space
1384	  anymore.
1385
1386	* pri_internal.h, pri_facility.c: There must be only one source for
1387	  the invoke id values per D channel group. If there are
1388	  potentially multiple sources for the invoke id sequence then we
1389	  could get confused if there are multiple outstanding messages
1390	  with the same invoke id that get responses.
1391
13922009-11-11 00:22 +0000 [r1291]  Matthew Fredrickson <creslin@digium.com>
1393
1394	* pri_internal.h, q921.c: Make sure we also revive links for PRIs,
1395	  not just PTMP TE BRIs when we get a disconnect message
1396
13972009-11-10 21:51 +0000 [r1283]  Richard Mudgett <rmudgett@digium.com>
1398
1399	* pri_internal.h, q931.c, pri_facility.c, pri_facility.h: The
1400	  facility ie queue needs to remove facilities that have been sent.
1401	  The facility ie queue needs to remove facilities that have been
1402	  sent. Otherwise, the queue just grows until the call is
1403	  terminated. AOC messages can clog the queue during a long call
1404	  and the dummy call reference may never be deleted. Also removed
1405	  unneeded elements of struct apdu_event. The callback function was
1406	  not a good idea since many facility messages do not have
1407	  responses and the callback would prevents removal of events from
1408	  the list.
1409
14102009-11-10 20:25 +0000 [r1276]  Matthew Fredrickson <creslin@digium.com>
1411
1412	* q921.c: Re-add back in support for TE initiated layer 2
1413	  activation
1414
14152009-11-10 19:27 +0000 [r1268-1275]  Richard Mudgett <rmudgett@digium.com>
1416
1417	* pri.c, pri_internal.h, q931.c, libpri.h: Add dummy call reference
1418	  support. Fixes problem where PTMP NT mode responds erroneously to
1419	  a FACILITY message from a phone on the dummy call reference.
1420	  LibPRI behaved as if the dummy call reference were an invalid
1421	  call reference and proceeded to respond on the global call
1422	  reference.
1423
1424	* pri_internal.h: Remove unused callingsubaddr[].
1425
14262009-11-03 17:19 +0000 [r1255-1261]  Richard Mudgett <rmudgett@digium.com>
1427
1428	* pri_q931.h, q931.c: Unknown IE 50 (cs5, Unknown Information
1429	  Element) Add code to recognize the code set 5 ie 50 (calling
1430	  party category) to suppress the unknown IE message. (closes issue
1431	  #13828) Reported by: fdecher Patches:
1432	  libpri_ie50_cs5-trunk.diff3.txt uploaded by alecdavis (license
1433	  585) Tested by: alecdavis
1434
1435	* q931.c: NT PTMP did not report busy when calling a busy phone.
1436	  The caller would not get a busy indication when calling a busy
1437	  phone. Timer T303 is not supposed to be stopped when
1438	  RELEASE_COMPLETE received. When T303 expires we will now report
1439	  the last clearing cause code to the caller if we received one.
1440
14412009-10-23 23:47 +0000 [r1242-1249]  Richard Mudgett <rmudgett@digium.com>
1442
1443	* pri_internal.h, pri_facility.c: Add subaddress handling to
1444	  existing messages and functions. Connected line updates when
1445	  transfering calls does not completely support subaddresses yet.
1446
1447	* pri.c, pri_internal.h, pri_q921.h, pri_q931.h, q921.c, q931.c,
1448	  pri_facility.c, pri_facility.h, libpri.h: Add BRI PTMP NT mode,
1449	  HOLD/RETRIEVE, Call rerouting/deflection, and keypad facility
1450	  support. * Added support for BRI PTMP NT mode. (Overlap dialing
1451	  NT -> TE not supported.) * Added handling of received
1452	  HOLD/RETRIEVE messages and the optional ability to transfer a
1453	  held call on disconnect similar to an analog phone. * Added
1454	  CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI
1455	  PTMP. Will reroute/deflect an outgoing call when receive the
1456	  message. Can use the DAHDISendCallreroutingFacility to send the
1457	  message for the supported switches. * Added ability to
1458	  send/receive keypad digits in the SETUP message. Send keypad
1459	  digits in SETUP message:
1460	  Dial(DAHDI/g1[/K<keypad_digits>][/extension]) Access any received
1461	  keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
1462	  (closes issue #15048) Tested by: rmudgett, mattf
1463
14642009-10-22 16:16 +0000 [r1230]  Richard Mudgett <rmudgett@digium.com>
1465
1466	* pri.c, pri_internal.h, pri_q931.h, q931.c, libpri.h: Add support
1467	  for calling and called subaddress. Partial support for COLP
1468	  subaddress. The Telecom Specs in NZ suggests that SUB ADDRESS is
1469	  always on, so doing "desk to desk" between offices each with an
1470	  asterisk box over the ISDN should then be possible, without a
1471	  whole load of DDI numbers required. (closes issue #15604)
1472	  Reported by: alecdavis Patches: libpri_subaddr_trunk.diff11.txt
1473	  uploaded by alecdavis (license 585) Some minor modificatons were
1474	  made. Tested by: alecdavis, rmudgett Review:
1475	  https://reviewboard.asterisk.org/r/406/
1476
14772009-10-19 22:49 +0000 [r1219-1220]  Richard Mudgett <rmudgett@digium.com>
1478
1479	* q931.c: Fix call state ie transmission. Sending a STATUS message
1480	  failed to include the call state ie for some reason. We will now
1481	  always send a call state ie when a message ie list includes one.
1482
1483	* q931.c: Fix comparision of invalid party name and number structs
1484	  in comparison functions.
1485
14862009-10-15 22:34 +0000 [r1212]  Richard Mudgett <rmudgett@digium.com>
1487
1488	* pri_facility.c: Take diverted-to-number from DivLegInfo1 and use
1489	  it as connected number. If no connected number is signaled in the
1490	  CONNECT message we will use the last diverted to number. (issue
1491	  #14292) Reported by: tomaso Patches:
1492	  divleginfo1_to_connectednum.patch uploaded by tomaso (license
1493	  564) (Used as a guide since it no longer will apply.) (This patch
1494	  is unrelated to the issue.)
1495
14962009-10-14 19:03 +0000 [r1191-1205]  Richard Mudgett <rmudgett@digium.com>
1497
1498	* q931.c: In q931_getcall(): Simplify test and add related switch
1499	  types.
1500
1501	* q931.c: Reduce future conflicts when adding ie's to the SETUP
1502	  message.
1503
15042009-10-12 17:17 +0000 [r1177]  Richard Mudgett <rmudgett@digium.com>
1505
1506	* pri.c, pri_internal.h, pri_q931.h, q931.c, pri_facility.c:
1507	  Miscellaneous changes: * Removed unnecessary
1508	  Q931_IE_CONNECTED_NUM ie from setup_ack_ies[]. * Added internal
1509	  state Q931_CALL_STATE_NOT_SET to Q.931 state enum. * Made
1510	  q931_is_ptmp() take a const pointer. * pri_facility.c: Some
1511	  preparations for subaddressing. * pri.c: Eliminate use of a magic
1512	  number.
1513
15142009-10-09 23:20 +0000 [r1169]  Richard Mudgett <rmudgett@digium.com>
1515
1516	* q931.c: Conditional out noisy and redundant ASN.1 parse dump of
1517	  facility ie contents. 1) Outgoing messages have the facility ie
1518	  ASN.1 decoded and dumped when the ie is added to the message. The
1519	  whole message is then dumped. 2) Incoming messages have the
1520	  facility ie ASN.1 decoded and dumped when the ie is processed.
1521	  The whole message has already been dumped.
1522
15232009-10-07 18:34 +0000 [r1151-1152]  Richard Mudgett <rmudgett@digium.com>
1524
1525	* pri_facility.c: Sent Q.SIG call rerouting message fixes. a)
1526	  Account for pSS1InfoElement where the bearer capability for the
1527	  new rerouted call is described. The call could be a fax or data
1528	  call, let's use the appropriate signaling to avoid call rejects
1529	  on the other end. b) Handle calling number appropriately, number
1530	  can be prohibited or non-existent. c) Add calling name if
1531	  available. d) Use the diversion counter from DivLegInfo2 (if was
1532	  present in the incoming Setup) and increment. (issue #14292)
1533	  Reported by: tomaso Patches:
1534	  libpri-1.4-2009-01-29-rerouting-0.1.9.patch uploaded by tomaso
1535	  (license 564) (Used as a guide since it no longer will apply.)
1536	  (This patch is unrelated to the issue.)
1537
1538	* pri.c, pri_q921.h, q921.c: Merged revisions 1143, 1144 from
1539	  https://origsvn.digium.com/svn/libpri/tags/1.4.10.2 ..........
1540	  r1144 | mattf | 2009-09-29 10:32:23 -0500 (Tue, 29 Sep 2009) | 1
1541	  line This fix is more like the fix that was used to resolve the
1542	  issue for the PRI case .......... r1143 | mattf | 2009-09-28
1543	  14:07:01 -0500 (Mon, 28 Sep 2009) | 1 line Changes for 1.4.10.2
1544	  ..........
1545
15462009-09-22 17:12 +0000 [r1120]  Jeff Peeler <jpeeler@digium.com>
1547
1548	* q931.c: Fix call reference to be associated with the D channel
1549	  message was received The problem is that once a call reference
1550	  was associated with a particular D channel, it always was. This
1551	  created an issue with NFAS when the secondary D channel became
1552	  active as the messages were still being sent on the non-active D
1553	  channel. (closes issue #14959) Reported by: remiq Patches:
1554	  bug14959.patch uploaded by jpeeler (license 325) Tested by: remiq
1555
15562009-09-22 02:23 +0000 [r1107]  Richard Mudgett <rmudgett@digium.com>
1557
1558	* pri.c: Update pri_event2str() to current defined events.
1559
15602009-09-18 00:31 +0000 [r1097]  Richard Mudgett <rmudgett@digium.com>
1561
1562	* q931.c: Another place where timeout events with subcmds should
1563	  clear any old subcmds.
1564
15652009-09-15 22:24 +0000 [r1084]  Richard Mudgett <rmudgett@digium.com>
1566
1567	* q931.c: Timeout events with subcmds should clear any old subcmds.
1568
15692009-09-14 22:32 +0000 [r1077]  Matthew Fredrickson <creslin@digium.com>
1570
1571	* q921.c: Output multiline output with multiple calls to
1572	  pri_message, so that logs look normal in Asterisk
1573
15742009-09-13 22:54 +0000 [r1072]  Dwayne M. Hubbard <dwayne.hubbard@gmail.com>
1575
1576	* pri_q931.h, q931.c: Add SERVICE message support for the
1577	  'national' switchtype This set of changes integrates SERVICE
1578	  message support for the 'national' switchtype. The 'national'
1579	  switchtype uses the 0x43 protocol discriminator. The 'national'
1580	  SERVICE/SERVICE ACKNOWLEDGE and AT&T SERVICE/SERVICE ACKNOWLEDGE
1581	  message values are opposite of each other. This is handled by
1582	  first determining which protocol discriminator is in use, then
1583	  responding with the appropriate SERVICE ACKNOWLEDGE value. AT&T
1584	  SERVICE messages use the 0x3 protocol discriminator. (closes
1585	  issue #15803) Reported by: dhubbard Review:
1586	  https://reviewboard.asterisk.org/r/347/
1587
15882009-09-02 20:19 +0000 [r1059-1061]  Richard Mudgett <rmudgett@digium.com>
1589
1590	* pri_internal.h, pri_q931.h, q931.c: Converted Q931_CALL_STATE_xxx
1591	  defines to an enum.
1592
1593	* q921.c, q931.c: Optimized calls to pri_schedule_del(). There is
1594	  no need to test if a scheduled event is running before calling
1595	  pri_schedule_del().
1596
1597	* prisched.c: Cleaned up scheduled events handling code. * Fixed
1598	  pri_schedule_event() to return 0 on error instead of -1. Zero is
1599	  a safer value to return. Users would not think that a timer was
1600	  scheduled. * Fixed potential for pri_schedule_del() to write out
1601	  of bounds of pri_sched[]. The out of bounds access could occur
1602	  when pri_schedule_event() returned -1. * Made use all pri_sched[]
1603	  entries. pri_sched[0] was previously unused. * Removed some
1604	  unneeded code and recursion since scheduling only runs on master
1605	  D channel structures. * Added doxygen comments. * Renamed struct
1606	  pri *pri variables to struct pri *ctrl in this file.
1607
16082009-08-31 22:57 +0000 [r1042-1051]  Richard Mudgett <rmudgett@digium.com>
1609
1610	* q931.c, libpri.h: Make event channel parameter encoding
1611	  consistent. Also make sure that service maintenance messages have
1612	  the channel id parameters reinitialized for each message since
1613	  they are sent over the global call reference.
1614
1615	* pri.c, pri_internal.h, q931.c, libpri.h: Split justsignalling
1616	  into cis_call and cis_auto_disconnect functionality.
1617
16182009-08-26 15:24 +0000 [r1006-1028]  Richard Mudgett <rmudgett@digium.com>
1619
1620	* q931.c: Fix BRI PTP broken by -r790.
1621
1622	* q931.c: Put connected name in display ie for CONNECT message.
1623
1624	* q931.c: Fix ie ordering in some ie lists for send_message().
1625
1626	* q931.c: Make dump_channel_id() handle variable length fields.
1627	  Also did some other minor miscellaneous changes.
1628
1629	* q931.c: Make sure reversecharge is initialized.
1630
16312009-08-21 19:51 +0000 [r1000]  Jason Parker <jparker@digium.com>
1632
1633	* Makefile: Add -n to ldconfig on HURD too. (closes issue #15130)
1634	  Reported by: tzafrir Patches: osarch_hurd.diff uploaded by
1635	  tzafrir (license 46)
1636
16372009-08-20 15:52 +0000 [r994]  Richard Mudgett <rmudgett@digium.com>
1638
1639	* q931.c: Made the call state to string table use the state
1640	  defines.
1641
16422009-08-18 23:53 +0000 [r982]  Richard Mudgett <rmudgett@digium.com>
1643
1644	* rose.c, rosetest.c, rose_internal.h, pri.c, pri_internal.h,
1645	  Makefile, q931.c, rose.h, rose_etsi_diversion.c (added),
1646	  pri_facility.c, pri_facility.h, libpri.h, rose_etsi_ect.c
1647	  (added): Add COLP support to libpri for ETSI PTP, ETSI PTMP, and
1648	  Q.SIG. Add Connected Line Presentation (COLP) support to
1649	  chan_dahdi/libpri as an addition to issue 8824. This is the
1650	  libpri portion. COLP support is now available for ETSI PTP, ETSI
1651	  PTMP, and Q.SIG with this patch. (closes issue #14068) Tested by:
1652	  rmudgett Review: https://reviewboard.asterisk.org/r/339/
1653
16542009-08-18 20:59 +0000 [r976]  Jeff Peeler <jpeeler@digium.com>
1655
1656	* Makefile: Allow custom CPU optimization flags Added make variable
1657	  LIBPRI_OPT to set optimization level. By default the optimization
1658	  level is now set to -O2. (closes issue #12676) Reported by:
1659	  tzafrir Patches: libpri_opt.diff uploaded by tzafrir (license 46)
1660
16612009-08-07 15:53 +0000 [r968]  Richard Mudgett <rmudgett@digium.com>
1662
1663	* rose_qsig_diversion.c: Corrected standard document reference.
1664
16652009-07-23 20:53 +0000 [r952]  Richard Mudgett <rmudgett@digium.com>
1666
1667	* pri_facility.c: Fixed potential NULL pointer dereference.
1668
16692009-06-26 19:50 +0000 [r914-921]  Richard Mudgett <rmudgett@digium.com>
1670
1671	* pri.c: Fix potential buffer overflow in pri_dump_info_str(). *
1672	  Created pri_snprintf() to prevent buffer overflow in
1673	  pri_dump_info_str(). * Extracted timer name to timer number table
1674	  from pri_timer2idx() so pri_dump_info_str() can use it.
1675
1676	* pri_internal.h: Eliminate local version of PRI_MAX_TIMERS.
1677
1678	* libpri.h: Doxygenify the timer comments.
1679
1680	* pri_internal.h, q931.c: Added printf format attribute to
1681	  pri_message() and pri_error() and fixed some detected errors.
1682
16832009-06-25 18:53 +0000 [r907]  Sean Bright <sean@malleable.com>
1684
1685	* pri.c, pri_internal.h, q931.c, libpri.h: Add support for sending
1686	  Reverse Charging Indication IE on ISDN PRI. Add the ability to
1687	  transmit a Reverse Charging Indication IE during a SETUP message.
1688	  In passing, re-work some of the receive logic to be forwards
1689	  compatible with new RCI values that may be added in the future.
1690	  Also removed the PRI_REVERSECHARGE_SUPPORT define that I added on
1691	  the last commit since we can just check for
1692	  PRI_REVERSECHARGE_NONE or _REQUESTED on the Asterisk side to
1693	  determine support for this. Special thanks to rmudgett who could
1694	  have written this in half the time he spent reviewing it, but
1695	  instead talked me through it. Much appreciated! (issue #13760)
1696	  Reported by: mrgabu Review:
1697	  https://reviewboard.asterisk.org/r/292/
1698
16992009-06-25 17:35 +0000 [r894-901]  Richard Mudgett <rmudgett@digium.com>
1700
1701	* libpri.h: Convert PRI_TIMER_xxx to an enum so PRI_MAX_TIMERS can
1702	  be automatically adjusted.
1703
1704	* pri.c, pri_timers.h (removed), libpri.h: Make it easier to add
1705	  more timers/counters and vary the defaults based upon switchtype.
1706
17072009-06-24 18:19 +0000 [r878-885]  Sean Bright <sean@malleable.com>
1708
1709	* pri_internal.h, q931.c, libpri.h: Capture and expose the Reverse
1710	  Charging Indication IE on ISDN PRI. (issue #13760) Reported by:
1711	  mrgabu Patches: 20090619_libpri_1.4.patch uploaded by seanbright
1712	  (license 71) Tested by: seanbright, pruonckk Review:
1713	  https://reviewboard.asterisk.org/r/291/
1714
1715	* pri_internal.h, q931.c, libpri.h: Revert unintentional changes
1716
1717	* pri_internal.h, q931.c, /, libpri.h: Set reviewboard property.
1718
17192009-06-12 14:29 +0000 [r865]  Richard Mudgett <rmudgett@digium.com>
1720
1721	* pri_facility.c: Miscellaneous minor changes.
1722
17232009-06-09 19:47 +0000 [r859]  Matthew Fredrickson <creslin@digium.com>
1724
1725	* q921.c: There are two changes in this commit that are bug fixes
1726	  for various Q.921 issues found in internal testing. Both were
1727	  exposed/introduced by the TBR4 compliance patch for bug #12861,
1728	  in changing how retransmissions and in how the transmission queue
1729	  was maintained. TX-RX message flow and acknowledgement was
1730	  severely restricted, since the patch changed the behavior so that
1731	  pending untransmitted frames would not actually be send until the
1732	  next RR was received in normal circumstances, or REJ when a
1733	  reject frame was received. On busy links, this can severly limit
1734	  the amount of useful traffic that is sent, and can slow down
1735	  message transmission. Until someone can point out where in Q.921
1736	  it is mandated for us to wait for RR frames to start sending
1737	  untransmitted messages, the first change is to allow us to send
1738	  untransmitted frames when we receive new I frames as well, with
1739	  updated N(R). The other bug fixed is a situation caused by the
1740	  restricted traffic flow, if an outside process tries to send an
1741	  I-frame asynchronous to an RR frame, when the transmit window was
1742	  previously closed and then opened up but an RR has not been
1743	  received yet. A bug was found with the integration of the old
1744	  transmit code with the new reject handling code which caused the
1745	  new frame to be sent immediately, regardless if there were any
1746	  pending untransmitted I-frames in the queue to be sent and
1747	  causing an out of order I-frame to be sent to the other side.
1748	  This bug is also fixed in this patch.
1749
17502009-06-03 22:51 +0000 [r836-848]  Richard Mudgett <rmudgett@digium.com>
1751
1752	* asn1_primitive.c: Made ASN.1 memory dump also display printable
1753	  characters.
1754
1755	* q931.c: Renamed callstate2str() to q931_call_state_str().
1756
1757	* q931.c: Made transmit_facility() debug message indiate to which
1758	  message the facility ie is being added.
1759
17602009-05-29 15:39 +0000 [r824]  Richard Mudgett <rmudgett@digium.com>
1761
1762	* q931.c: Renamed local struct pri *pri variables to struct pri
1763	  *ctrl in q931.c. The context tagging for my editor is much
1764	  happier now that the struct and the variable do not have the same
1765	  name. (At least for this file.)
1766
17672009-05-20 15:03 +0000 [r804]  Richard Mudgett <rmudgett@digium.com>
1768
1769	* q931.c: Removed usage of FUNC_DUMP(), FUNC_RECV(), and
1770	  FUNC_SEND() defines. They did not really help and hindered easy
1771	  lookup of parameter types.
1772
17732009-05-13 15:17 +0000 [r798]  Kevin P. Fleming <kpfleming@digium.com>
1774
1775	* pri.c, pri_q931.h, q931.c, libpri.h: Add 'const' qualifier to
1776	  character string argument to keypad facility API calls These API
1777	  calls do not modify the string supplied, and should not be
1778	  allowed to modify it, so this patch adds a 'const' qualifier to
1779	  that argument to allow the compiler to enforce this restriction
1780	  (and allow callers of the API that already have a 'const' pointer
1781	  to be able to pass it to this API).
1782
17832009-05-07 16:21 +0000 [r790-794]  Richard Mudgett <rmudgett@digium.com>
1784
1785	* pri_internal.h, pri_q931.h, q931.c: Minor code clean up.
1786
1787	* q931.c: Avoid a stale pointer crash if the TE BRI TEI is removed
1788	  when active calls exist. Made the q931_call record point to the
1789	  master D channel control structure instead of the BRI TEI
1790	  subchannel control structure. When a layer 3 message is sent, the
1791	  current TEI subchannel control structure is used.
1792
17932009-05-05 22:25 +0000 [r786]  Richard Mudgett <rmudgett@digium.com>
1794
1795	* pri_q931.h: Added Q.931 call state description comments.
1796
17972009-05-01 22:47 +0000 [r782]  Richard Mudgett <rmudgett@digium.com>
1798
1799	* pri_q931.h, q921.c: Comment changes.
1800
18012009-04-21 23:32 +0000 [r766-772]  Richard Mudgett <rmudgett@digium.com>
1802
1803	* rose.c, rosetest.c, rose_internal.h, Makefile, rose.h,
1804	  rose_qsig_aoc.c (added), pri_facility.c: Added Q.SIG
1805	  Advice-Of-Charge encode/decode routines.
1806
1807	* asn1_primitive.c (added), pri_internal.h, rose_qsig_name.c
1808	  (added), Makefile, q931.c, asn1.h (added), rose_qsig_mwi.c
1809	  (added), rose.c (added), rosetest.c (added), rose_internal.h
1810	  (added), rose_other.c (added), rose.h (added), rose_address.c
1811	  (added), rose_qsig_diversion.c (added), rose_etsi_aoc.c (added),
1812	  pri_facility.c, rose_qsig_ct.c (added), pri_facility.h,
1813	  rose_q931.c (added), libpri.h: ROSE ASN.1 facility encode and
1814	  decode rewrite of existing messages. Several components are now
1815	  parsed correctly. Most notably: PartyNumber and Q.SIG Name.
1816
18172009-04-14 15:05 +0000 [r732]  Jeff Peeler <jpeeler@digium.com>
1818
1819	* pri.c, pri_internal.h, pri_q921.h, pri_q931.h, q921.c, q931.c,
1820	  libpri.h: Add service maintenance message support This adds
1821	  support for two new message types: Service and Service
1822	  Acknowledge. When a channel receives a service message it will
1823	  either take the channel in or out of service and then send a
1824	  service acknowledgment. Although not enforced here (enforced in
1825	  chan_dahdi), the service messages are only supported with switch
1826	  types 4ess/5ess. The required Asterisk changes will be coming
1827	  next. (issue #3450) Reported by: cmaj
1828
18292009-04-02 19:33 +0000 [r726]  Richard Mudgett <rmudgett@digium.com>
1830
1831	* pri_facility.c: Comment changes and some string content
1832	  corrections.
1833
18342009-04-18 Matthew Fredrickson <creslin@digium.com>
1835
1836	* libpri 1.4.10 released.
1837
18382009-04-02 19:33 +0000 [r726]  Richard Mudgett <rmudgett@digium.com>
1839
1840	* pri_facility.c: Comment changes and some string content
1841	  corrections.
1842
18432009-03-26 16:01 +0000 [r715]  Richard Mudgett <rmudgett@digium.com>
1844
1845	* libpri.h: Comment changes to note what ISDN message type causes
1846	  the event.
1847
18482009-03-19 01:39 +0000 [r711]  Richard Mudgett <rmudgett@digium.com>
1849
1850	* pri_facility.c: Added pSS1InfoElement comments in
1851	  qsig_cf_callrerouting().
1852
18532009-03-13 01:05 +0000 [r705]  Richard Mudgett <rmudgett@digium.com>
1854
1855	* build_tools/make_version: Use the correct branch integrated
1856	  property when generating the version string. Update the
1857	  make_version file to the latest Asterisk version with the
1858	  appropriate libpri required chage.
1859
18602009-03-04 20:31 +0000 [r701]  Joshua Colp <jcolp@digium.com>
1861
1862	* q931.c: Make sure we only have 4 octects on unrestricted 64k data
1863	  calls. (closes issue #14507) Reported by: jsmith Patches:
1864	  64k-data.patch uploaded by jsmith (license 15) Tested by: jsmith
1865	  (closes issue #13118) Reported by: radpeter
1866
18672009-02-02 20:18 +0000 [r687]  Leif Madsen <lmadsen@digium.com>
1868
1869	* libpri.h: Fix a small spelling error. (closes issue #14375)
1870	  Reported by: jeremy1
1871
18722009-01-27 23:22 +0000 [r680]  Matthew Fredrickson <creslin@digium.com>
1873
1874	* q921.c: A couple of last BRI fixes in libpri... don't discard
1875	  pending iframes when we call the q921_dchannel_up routine, since
1876	  we need to be able to send the ones that were queued up while the
1877	  D-channel went down and is being reactivated. Also fix some buggy
1878	  logic in the frame transmission decision code.
1879
18802009-01-22 21:48 +0000 [r675]  Matthew Fredrickson <creslin@digium.com>
1881
1882	* q921.c: Change behavior so that we do not send I-frames when link
1883	  is down, but instead queue them up until the link comes up and
1884	  send them out then.
1885
18862009-01-09 Matthew Fredrickson <creslin@digium.com>
1887
1888	* libpri 1.4.9 released.
1889
18902009-01-09 17:58 +0000 [r656]  Matthew Fredrickson <creslin@digium.com>
1891
1892	* q921.c: Add additional case where T200 expires greater than N200
1893	  times and we need to release and reacquire the TEI.
1894
18952008-12-23 21:38 +0000 [r653]  Matthew Fredrickson <creslin@digium.com>
1896
1897	* q921.c, q931.c: Add some additional debug for Q.921 MDL messages
1898	  as well as fix a bug in RESTART messages on BRI
1899
19002008-11-22 Matthew Fredrickson <creslin@digium.com>
1901
1902	* libpri 1.4.8 released.
1903
19042008-11-22 00:34 +0000 [r645]  Matthew Fredrickson <creslin@digium.com>
1905
1906	* q921.c: Fix a number of Q.921 bugs, found doing TBR4 compliance
1907	  testing, thanks to Tzafrir, Xorcom, and co. (#12861). Thanks!
1908
19092008-10-17 16:13 +0000 [r636]  Matthew Fredrickson <creslin@digium.com>
1910
1911	* pri.c, pri_internal.h, pri_q931.h, q931.c, pri_facility.c,
1912	  pri_facility.h, libpri.h: Merging in additional Q.SIG features in
1913	  #13454. Includes Q.SIG physical/logical channel mapping support,
1914	  extended coding of Q.SIG name operations (calling name), and call
1915	  rerouting support via added dialplan application.
1916
19172008-08-06 18:20 +0000 [r616]  Jason Parker <jparker@digium.com>
1918
1919	* Makefile: Make install paths use libdir, like libss7
1920
19212008-08-05 Kevin P. Fleming <kpfleming@digium.com>
1922
1923	* libpri 1.4.7 released.
1924
19252008-08-05 22:18 +0000 [r611]  Kevin P. Fleming <kpfleming@digium.com>
1926
1927	* pritest.c, pri.c, pri_internal.h, q921.c, q931.c, copy_string.c,
1928	  prisched.c, pri_q921.h, pri_q931.h, pri_facility.c, /,
1929	  compiler.h, pridump.c, testprilib.c, pri_timers.h,
1930	  pri_facility.h, libpri.h: Merged revisions 610 via svnmerge from
1931	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r610
1932	  | kpfleming | 2008-08-05 17:16:58 -0500 (Tue, 05 Aug 2008) | 2
1933	  lines clean up license headers, and explicitly grant additional
1934	  permissions when used with Asterisk ........
1935
19362008-07-30 15:43 +0000 [r606-607]  Kevin P. Fleming <kpfleming@digium.com>
1937
1938	* /: update ignore list
1939
1940	* Makefile, mkdep (removed): use better version.c creation process,
1941	  and better dependency tracking process too
1942
19432008-07-29 22:47 +0000 [r598-602]  Jason Parker <jparker@digium.com>
1944
1945	* build_tools/make_version: I believe this is what was meant. (it
1946	  matches how Asterisk does it)
1947
1948	* build_tools/make_version: libpri is not libss7 :D
1949
19502008-07-22 22:36 +0000 [r594]  Kevin P. Fleming <kpfleming@digium.com>
1951
1952	* pri_internal.h, libpri.h: correct comments to match code
1953
19542008-07-22 Kevin P. Fleming <kpfleming@digium.com>
1955
1956	* Libpri 1.4.6 released.
1957
19582008-07-22 19:43 +0000 [r589]  Kevin P. Fleming <kpfleming@digium.com>
1959
1960	* pri.c, pri_internal.h, q931.c, libpri.h: rename API call and
1961	  option (nothing has been released to use it yet so this should be
1962	  safe) to be more accurate in describing what it does (closes
1963	  issue #13042)
1964
19652008-07-11 Jason Parker <jparker@digium.com>
1966
1967	* Libpri 1.4.5 released.
1968
19692008-07-11 16:44 +0000 [r574-579]  Kevin P. Fleming <kpfleming@digium.com>
1970
1971	* /: ignore generated files
1972
1973	* pri.c, pri_internal.h, q931.c, libpri.h: modify work done for
1974	  issue #10552, making the support of inband audio after RELEASE a
1975	  configurable option, since it is causing problems for a number of
1976	  users (closes issue #13042)
1977
19782008-06-04 17:02 +0000 [r562]  Dwayne M. Hubbard <dhubbard@digium.com>
1979
1980	* q931.c: While working on issue 3450 I noticed that the
1981	  information channel selection field in the channel identification
1982	  IE was displayed incorrectly when using 'pri intense debug'. I
1983	  wanted another pair of eyes to look at the code because
1984	  everything looked correct until Shaun Ruffell noticed the missing
1985	  comma in the msg_chan_sel array.
1986
19872008-05-07 19:51 +0000 [r557]  Matthew Fredrickson <creslin@digium.com>
1988
1989	* pri.c, pritest.c, pri_internal.h, pri_q921.h, Makefile, q921.c,
1990	  q931.c, pri_facility.c, prisched.c, testprilib.c, pri_timers.h,
1991	  pri_facility.h, libpri.h: Moving trunk changes back into 1.4
1992
19932008-05-07 Matthew Fredrickson <creslin@digium.com>
1994
1995	* Libpri 1.4.4 released.
1996
19972008-05-06 16:43 +0000 [r553-555]  Matthew Fredrickson <creslin@digium.com>
1998
1999	* q921.c, pri.c: Remove some unnecessary debug messages
2000
2001	* q931.c: We passed TBR3 layer 2 and layer 3 testing with this
2002	  commit in for BRI-TE PTMP.
2003
2004	* q931.c: Final patch to pass certification
2005
20062008-04-22 15:30 +0000 [r546]  Russell Bryant <russell@digium.com>
2007
2008	* Makefile: All versions of libpri have been installed as
2009	  libpri.so.1.0, even though the API and ABI have changed over
2010	  time. This patch changes the Makefile to install the library as
2011	  libpri.so.1.4 to indicate that this is not compatible with
2012	  previous versions. In the future, this should be changed as we
2013	  make ABI changes. (closes issue #10376) Reported by: tzafrir
2014	  Patches: libpri-soname.diff uploaded by tzafrir (license 46) --
2015	  with very minor changes by me
2016
20172008-03-15 19:57 +0000 [r541-543]  Matthew Fredrickson <creslin@digium.com>
2018
2019	* libpri.h, pri.c: Remove some useless event items
2020
2021	* q921.c, pri_internal.h: Make sure if we're a bri and in PTMP mode
2022	  that we release the TEI and try to get a new one with the other
2023	  end when we lose activity in multiframe mode
2024
2025	* q921.c, pri.c, pri_q921.h: When we recieve a UA in any TEI
2026	  established state other than awaiting establishement make sure we
2027	  drop the TEI and get a new one. For passing tests PC37.2 - PC41.2
2028	  in Q.921
2029
20302008-03-06 23:43 +0000 [r538-539]  Matthew Fredrickson <creslin@digium.com>
2031
2032	* q921.c: Make sure we are sending as command not as response
2033
2034	* q921.c: Make sure C/R bit is correct
2035
20362008-03-01 23:30 +0000 [r531-535]  Matthew Fredrickson <creslin@digium.com>
2037
2038	* q921.c: Remove some (currently) useless code
2039
2040	* q921.c, pri.c, pri_internal.h: Some more updates to add code for
2041	  passing PC 27.1 in Q.921
2042
2043	* q921.c, pri.c: Various coding style cleanups as well as a bug fix
2044	  for TEI removal
2045
2046	* q921.c, q931.c, pri.c, pri_internal.h: Initial checkin of code to
2047	  pass Q.921 PC25 and PC26
2048
2049	* q921.c: Add support for responding to TEI requests (Q.921 PC23.x)
2050
20512008-02-18 20:31 +0000 [r525]  Matthew Fredrickson <creslin@digium.com>
2052
2053	* q931.c, libpri.h: Improve transmission, receiving, and dumping of
2054	  bearer capability IE (#11593)
2055
20562008-01-16 18:06 +0000 [r518]  Jason Parker <jparker@digium.com>
2057
2058	* Makefile, /: Add logging for 'make update' command (also fixes
2059	  updates in some places). Issue #11766, initial patch by jmls.
2060
20612007-12-26 17:35 +0000 [r505]  Russell Bryant <russell@digium.com>
2062
2063	* libpri.h: Remove unnecessary usage of the extern keyword.
2064
20652007-12-06 22:16 +0000 [r494-496]  Russell Bryant <russell@digium.com>
2066
2067	* q921.c, q931.c, pri_facility.c, pri.c: Change malloc+memset to
2068	  calloc. Also, handle allocation failures early to reduce
2069	  indentation. (closes issue #11469) Reported by: eliel Patches:
2070	  pri.c.patch uploaded by eliel (license 64) q931.c.patch uploaded
2071	  by eliel (license 64) q921.c.patch uploaded by eliel (license 64)
2072	  pri_facility.c.patch uploaded by eliel (license 64)
2073
2074	* pri.c: Change a use of malloc+memset to calloc. Also, reduce
2075	  indentation of a function by doing the check for memory
2076	  allocation failure at the beginning.
2077
2078	* pri.c: Change the table used to hold the default timers to be
2079	  global and const, instead of allocating it on the stack each time
2080	  the function is called.
2081
20822007-12-05 00:20 +0000 [r491-493]  Matthew Fredrickson <creslin@digium.com>
2083
2084	* q931.c: Improve the parameter name to better reflect its use
2085
2086	* q921.c, q931.c: More PTMP fixes. Stand by, more changes to come
2087
2088	* q921.c, q931.c, testprilib.c: More magic to make BRI CPE PTMP
2089	  work
2090
20912007-11-21 22:30 +0000 [r486-487]  Matthew Fredrickson <creslin@digium.com>
2092
2093	* q931.c: Make sure we loop BRI call references for one byte CREFs
2094	  instead of two
2095
2096	* q921.c, q931.c, libpri.h, pri.c, pritest.c, pri_internal.h: Add
2097	  BRI support to libpri
2098
20992007-10-13 16:00 +0000 [r473]  Matthew Fredrickson <creslin@digium.com>
2100
2101	* q921.c: Make sure that we only output the message handling debug
2102	  when we're actually debugging
2103
21042007-09-25 21:56 +0000 [r469]  Matthew Fredrickson <creslin@digium.com>
2105
2106	* q931.c: Fix user-user IE order in setup message (#10705)
2107
21082007-06-20 15:18 +0000 [r428-430]  Matthew Fredrickson <creslin@digium.com>
2109
2110	* Makefile: Revert that back to how it was
2111
2112	* Makefile, q921.c, q931.c, prisched.c, testprilib.c, pri_timers.h,
2113	  libpri.h, pri.c, pri_internal.h, pri_q921.h: Patch to add PTMP
2114	  mode (BRI support)
2115
21162007-06-06 21:59 +0000 [r417-425]  Matthew Fredrickson <creslin@digium.com>
2117
2118	* q931.c, pri_facility.c, pri_facility.h, pri.c, pri_internal.h:
2119	  Preliminary patch plus mods for Q.SIG Path Replacement (Q.SIG
2120	  version of 2BCT) #7778
2121
21222007-05-25 17:36 +0000 [r413]  Matthew Fredrickson <creslin@digium.com>
2123
2124	* q931.c, pri_facility.c, pri_facility.h, libpri.h: Commit path for
2125	  ROSE-12 and ROSE-13 support (#9076)
2126
21272006-11-03 18:16 +0000 [r382]  Matthew Fredrickson <creslin@digium.com>
2128
2129	* q921.c: Remove pointless recursion. (#8281)
2130
21312008-05-07 19:51 +0000 [r557]  Matthew Fredrickson <creslin@digium.com>
2132
2133	* pri.c, pritest.c, pri_internal.h, pri_q921.h, Makefile, q921.c,
2134	  q931.c, pri_facility.c, prisched.c, testprilib.c, pri_timers.h,
2135	  pri_facility.h, libpri.h: Moving trunk changes back into 1.4
2136
21372008-05-02 20:21 +0000 [r552]  Brett Bryant <bbryant@digium.com>
2138
2139	* Makefile, build_tools (added), build_tools/make_version (added),
2140	  build_tools/make_version_c (added), libpri.h: Add new API call
2141	  (pri_get_version) to show the current version of the branch for
2142	  support purposes.
2143
21442008-04-16 00:21 +0000 [r544]  Kevin P. Fleming <kpfleming@digium.com>
2145
2146	* q921.c: fix the indentation in this function so that it is
2147	  actually possible to read it and understand the logic and flow
2148
21492008-02-21 16:38 +0000 [r528]  Joshua Colp <jcolp@digium.com>
2150
2151	* q931.c: If inband audio is being provided with a disconnect
2152	  message let the audio be heard before releasing the channel.
2153	  (closes issue #10552) Reported by: paravoid Patches:
2154	  disconnect-audio.diff uploaded by paravoid (license 200)
2155
21562008-02-18 20:31 +0000 [r524]  Matthew Fredrickson <creslin@digium.com>
2157
2158	* q931.c, libpri.h: Improve transmission, receiving, and dumping of
2159	  bearer capability IE (#11593)
2160
21612008-01-11 16:34 +0000 [r514]  Matthew Fredrickson <creslin@digium.com>
2162
2163	* q931.c, /: Merged revisions 513 via svnmerge from
2164	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r513
2165	  | mattf | 2008-01-11 10:33:52 -0600 (Fri, 11 Jan 2008) | 1 line
2166	  We should not be parsing further into the bearer capability IE if
2167	  the length does not confirm that there actually is data present
2168	  ........
2169
21702007-12-13  Russell Bryant  <russell@digium.com>
2171
2172	* libpri 1.4.3 released.
2173
21742007-10-22 15:10 +0000 [r479]  Kevin P. Fleming <kpfleming@digium.com>
2175
2176	* pri_internal.h, /: Merged revisions 478 via svnmerge from
2177	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r478
2178	  | kpfleming | 2007-10-22 10:09:27 -0500 (Mon, 22 Oct 2007) | 3
2179	  lines we need to include stddef.h for 'size_t' ........
2180
21812007-10-16  Matthew Fredrickson  <creslin@digium.com>
2182
2183	* libpri 1.4.2 released.
2184
21852007-10-05 16:45 +0000 [r470]  Jason Parker <jparker@digium.com>
2186
2187	* libpri.h: Fix an incorrect pri_event structure definition. Issue
2188	  10832, patch by flefoll
2189
21902007-09-25 21:37 +0000 [r468]  Matthew Fredrickson <creslin@digium.com>
2191
2192	* q931.c: Fix user-user IE order in setup message (#10705)
2193
21942007-09-14 21:32 +0000 [r465]  Matthew Fredrickson <creslin@digium.com>
2195
2196	* q931.c, libpri.h: Fix for #10189. Make sure we properly report
2197	  the user layer 1 for H.223 and H.245
2198
21992007-09-06 15:11 +0000 [r462]  Matthew Fredrickson <creslin@digium.com>
2200
2201	* pri.c, pri_facility.c, /: Merged revisions 460 via svnmerge from
2202	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r460
2203	  | mattf | 2007-09-06 10:06:42 -0500 (Thu, 06 Sep 2007) | 1 line
2204	  TBCT now works. It should work for NI2, 4E, and 5E. This code was
2205	  tested on NI2. ........
2206
22072007-08-27 19:21 +0000 [r446]  Jason Parker <jparker@digium.com>
2208
2209	* Makefile, /: Merged revisions 445 via svnmerge from
2210	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r445
2211	  | qwell | 2007-08-27 14:20:23 -0500 (Mon, 27 Aug 2007) | 2 lines
2212	  Make sure we build both the static and shared modules with -fPIC.
2213	  ........
2214
22152007-08-06 19:58 +0000 [r441]  Jason Parker <jparker@digium.com>
2216
2217	* Makefile: Allow setting CC to something with a space, such as
2218	  `make CC="gcc -m32"` Issue 10253.
2219
22202007-07-09  Russell Bryant  <russell@digium.com>
2221
2222	* libpri 1.4.1 released.
2223
22242007-06-19 18:23 +0000 [r427]  Matthew Fredrickson <creslin@digium.com>
2225
2226	* q931.c, /: Merged revisions 426 via svnmerge from
2227	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r426
2228	  | mattf | 2007-06-19 13:22:33 -0500 (Tue, 19 Jun 2007) | 1 line
2229	  Try to send pending facility messages if we receive alerting (for
2230	  when we don't get proceeding) (#9651) ........
2231
22322007-06-06 21:58 +0000 [r416-424]  Matthew Fredrickson <creslin@digium.com>
2233
2234	* pri_facility.c, /: Merged revisions 423 via svnmerge from
2235	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r423
2236	  | mattf | 2007-06-06 16:57:15 -0500 (Wed, 06 Jun 2007) | 1 line
2237	  Oops, that should not be on one line ........
2238
2239	* pri_facility.c, /: Merged revisions 415 via svnmerge from
2240	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r415
2241	  | mattf | 2007-06-06 08:20:05 -0500 (Wed, 06 Jun 2007) | 2 lines
2242	  Make sure we only send the NFE when we are talking QSIG ........
2243
22442007-01-22 22:29 +0000 [r390]  Matthew Fredrickson <creslin@digium.com>
2245
2246	* q931.c, /: Merged revisions 389 via svnmerge from
2247	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r389
2248	  | mattf | 2007-01-22 16:20:59 -0600 (Mon, 22 Jan 2007) | 2 lines
2249	  Make sure we send DISCONNECT if we reached the active state and a
2250	  call is disconnected, regardless of cause code. ........
2251
22522006-12-30 19:17 +0000 [r386]  Joshua Colp <jcolp@digium.com>
2253
2254	* Makefile, /: Merged revisions 385 via svnmerge from
2255	  https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r385
2256	  | file | 2006-12-30 14:16:17 -0500 (Sat, 30 Dec 2006) | 2 lines
2257	  Specify full path to restorecon instead of assuming it will be
2258	  available from what is in $PATH. (issue #8670 reported by djflux)
2259	  ........
2260
22612006-12-23  Kevin P. Fleming  <kpfleming@digium.com>
2262
2263	* libpri 1.4.0 released.
2264
22652006-09-20  Kevin P. Fleming  <kpfleming@digium.com>
2266
2267	* libpri 1.4.0-beta1 released.
2268