Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aedba2b175 | ||
|
|
2527a957f0 | ||
|
|
33e5d26221 | ||
|
|
856498556b | ||
|
|
8bf694a4f5 | ||
|
|
ff8098285c | ||
|
|
67d7e324a1 | ||
|
|
7c66b22563 | ||
|
|
1626cd29b8 |
74
ChangeLog
74
ChangeLog
@@ -1,16 +1,64 @@
|
||||
libpri 0.3.0
|
||||
-- Fix talking to switch
|
||||
-- Add pri dump
|
||||
-- Add test application
|
||||
-- Fix strncpy stuff
|
||||
libpri 0.1.2
|
||||
-- Added PRI_EVENT_HANGUP_ACK so you can know when the disconnect was
|
||||
acknowledged
|
||||
2006-05-30 Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
libpri 0.1.1
|
||||
-- Added PRI_DEBUG_Q931_ANOMALY flag so that certain non-error-related
|
||||
messages would not be output unless specifically desired.
|
||||
* libpri 1.2.3 Released
|
||||
|
||||
2006-04-30 15:17 +0000 [r332] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* Makefile: set LDCONFIG_FLAGS for GNU/kFreeBSD as well use the
|
||||
flags during installation
|
||||
|
||||
2006-04-27 16:08 +0000 [r327] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* q931.c, libpri.h: Make sure we pass the call back in the
|
||||
setup_ack
|
||||
|
||||
2006-04-04 15:36 +0000 [r323] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* Makefile: Fix for #6566 (Makefile does not honor DESTDIR)
|
||||
|
||||
2006-02-17 18:55 +0000 [r316] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* q931.c: Backport of 6480
|
||||
|
||||
2006-02-15 17:59 +0000 [r311] Matt O'Gorman <mogorman@digium.com>
|
||||
|
||||
* README: bug 6500 typo in README.
|
||||
|
||||
2006-02-13 23:06 +0000 [r306] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* pri_facility.c: suppress annoying message about unsupported
|
||||
components in facility messages
|
||||
|
||||
2006-01-18 Russell Bryant <russell@digium.com>
|
||||
|
||||
* Libpri 1.2.2 Released
|
||||
|
||||
2006-01-17 13:43 +0000 [r291] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* q931.c: ensure that user-user info field in call is properly
|
||||
reset when not needed
|
||||
|
||||
2006-01-10 20:19 +0000 [r290] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* Makefile: Backport of doing correct minor numbers to 1.2 (#6188)
|
||||
|
||||
2005-12-27 14:01 +0000 [r284] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* q931.c: Fix for issue #6039 backported to 1.2
|
||||
|
||||
2005-12-06 21:35 +0000 [r280] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* q921.c: Send RR as command instead of response when T200 expires
|
||||
after receiving RNR.
|
||||
|
||||
2005-12-01 23:13 +0000 [r274] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* Makefile: Makefile 'update' target now supports Subversion
|
||||
repositories (issue #5875)
|
||||
|
||||
2005-12-01 02:34 +0000 [r270] Matt Frederickson <creslin@digium.com>
|
||||
|
||||
* q931.c: Backport of fix from trunk. Fix broken single digit
|
||||
keypad facility code.
|
||||
|
||||
libpri 0.1.0
|
||||
-- Initial release
|
||||
|
||||
|
||||
6
Makefile
6
Makefile
@@ -39,11 +39,11 @@ DYNAMIC_LIBRARY=libpri.so.1.0
|
||||
STATIC_OBJS=copy_string.o pri.o q921.o prisched.o q931.o pri_facility.o
|
||||
DYNAMIC_OBJS=copy_string.lo pri.lo q921.lo prisched.lo q931.lo pri_facility.lo
|
||||
CFLAGS=-Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g $(ALERTING) $(LIBPRI_COUNTERS)
|
||||
INSTALL_PREFIX?=
|
||||
INSTALL_PREFIX=$(DESTDIR)
|
||||
INSTALL_BASE=/usr
|
||||
SOFLAGS = -Wl,-hlibpri.so.1.0
|
||||
LDCONFIG = /sbin/ldconfig
|
||||
ifeq (${OSARCH},Linux)
|
||||
ifneq (,$(findstring $(OSARCH), Linux GNU/kFreeBSD))
|
||||
LDCONFIG_FLAGS=-n
|
||||
else
|
||||
ifeq (${OSARCH},FreeBSD)
|
||||
@@ -89,7 +89,7 @@ ifneq (${OSARCH},SunOS)
|
||||
if [ -x /usr/sbin/sestatus ] && ( /usr/sbin/sestatus | grep "SELinux status:" | grep -q "enabled"); then restorecon -v $(INSTALL_PREFIX)$(INSTALL_BASE)/lib/$(DYNAMIC_LIBRARY); fi
|
||||
( cd $(INSTALL_PREFIX)$(INSTALL_BASE)/lib ; ln -sf libpri.so.1.0 libpri.so ; ln -sf libpri.so.1.0 libpri.so.1 )
|
||||
install -m 644 $(STATIC_LIBRARY) $(INSTALL_PREFIX)$(INSTALL_BASE)/lib
|
||||
if test $$(id -u) = 0; then $(LDCONFIG); fi
|
||||
if test $$(id -u) = 0; then $(LDCONFIG) $(LDCONFIG_FLAGS) $(INSTALL_PREFIX)$(INSTALL_BASE)/lib; fi
|
||||
else
|
||||
install -f $(INSTALL_PREFIX)$(INSTALL_BASE)/include -m 644 libpri.h
|
||||
install -f $(INSTALL_PREFIX)$(INSTALL_BASE)/lib -m 755 $(DYNAMIC_LIBRARY)
|
||||
|
||||
2
README
2
README
@@ -1,4 +1,4 @@
|
||||
libpri: An implementation of Primate Rate ISDN
|
||||
libpri: An implementation of Primary Rate ISDN
|
||||
|
||||
Written by Mark Spencer <markster@digium.com>
|
||||
|
||||
|
||||
1
libpri.h
1
libpri.h
@@ -359,6 +359,7 @@ typedef struct pri_event_proceeding {
|
||||
typedef struct pri_event_setup_ack {
|
||||
int e;
|
||||
int channel;
|
||||
q931_call *call;
|
||||
} pri_event_setup_ack;
|
||||
|
||||
typedef struct pri_event_notify {
|
||||
|
||||
@@ -1136,13 +1136,17 @@ extern int rose_invoke_decode(struct pri *pri, q931_call *call, unsigned char *d
|
||||
do {
|
||||
/* Invoke ID stuff */
|
||||
GET_COMPONENT(comp, i, vdata, len);
|
||||
#if 0
|
||||
CHECK_COMPONENT(comp, INVOKE_IDENTIFIER, "Don't know what to do if first ROSE component is of type 0x%x\n");
|
||||
#endif
|
||||
invokeid = comp;
|
||||
NEXT_COMPONENT(comp, i);
|
||||
|
||||
/* Operation Tag */
|
||||
GET_COMPONENT(comp, i, vdata, len);
|
||||
#if 0
|
||||
CHECK_COMPONENT(comp, ASN1_INTEGER, "Don't know what to do if second ROSE component is of type 0x%x\n");
|
||||
#endif
|
||||
operationid = comp;
|
||||
ASN1_GET_INTEGER(comp, operation_tag);
|
||||
NEXT_COMPONENT(comp, i);
|
||||
|
||||
7
q931.c
7
q931.c
@@ -736,7 +736,7 @@ char *pri_pres2str(int pres)
|
||||
|
||||
static void q931_get_number(unsigned char *num, int maxlen, unsigned char *src, int len)
|
||||
{
|
||||
if (len > maxlen - 1) {
|
||||
if ((len < 0) || (len > maxlen - 1)) {
|
||||
num[0] = 0;
|
||||
return;
|
||||
}
|
||||
@@ -780,7 +780,7 @@ static FUNC_DUMP(dump_calling_party_number)
|
||||
static FUNC_DUMP(dump_calling_party_subaddr)
|
||||
{
|
||||
unsigned char cnum[256];
|
||||
q931_get_number(cnum, sizeof(cnum), ie->data + 2, len - 4);
|
||||
q931_get_number(cnum, sizeof(cnum), ie->data + 1, len - 3);
|
||||
pri_message(pri, "%c Calling Sub-Address (len=%2d) [ Ext: %d Type: %s (%d) O: %d '%s' ]\n",
|
||||
prefix, len, ie->data[0] >> 7,
|
||||
subaddrtype2str((ie->data[0] & 0x70) >> 4), (ie->data[0] & 0x70) >> 4,
|
||||
@@ -889,7 +889,7 @@ static FUNC_DUMP(dump_redirecting_subaddr)
|
||||
static FUNC_RECV(receive_calling_party_subaddr)
|
||||
{
|
||||
/* copy digits to call->callingsubaddr */
|
||||
q931_get_number((unsigned char *) call->callingsubaddr, sizeof(call->callingsubaddr), ie->data + 2, len - 4);
|
||||
q931_get_number((unsigned char *) call->callingsubaddr, sizeof(call->callingsubaddr), ie->data + 1, len - 3);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3530,6 +3530,7 @@ int q931_receive(struct pri *pri, q931_h *h, int len)
|
||||
c->peercallstate = Q931_CALL_STATE_OVERLAP_RECEIVING;
|
||||
pri->ev.e = PRI_EVENT_SETUP_ACK;
|
||||
pri->ev.setup_ack.channel = c->channelno | (c->ds1no << 8) | (c->ds1explicit << 16);
|
||||
pri->ev.setup_ack.call = c;
|
||||
|
||||
cur = c->apdus;
|
||||
while (cur) {
|
||||
|
||||
Reference in New Issue
Block a user