modify work done for issue #10552, making the support of inband audio after RELEASE a configurable option, since it is causing problems for a number of users

(closes issue #13042)


git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@574 2fbb986a-6c06-0410-b554-c9c1f0a7f128
This commit is contained in:
Kevin P. Fleming 2008-07-11 16:24:01 +00:00
parent 95ccc0e03c
commit aad7c3e8f1
4 changed files with 11 additions and 2 deletions

View File

@ -624,6 +624,9 @@ int pri_progress(struct pri *pri, q931_call *c, int channel, int info);
/* Send call proceeding */
int pri_proceeding(struct pri *pri, q931_call *c, int channel, int info);
/* Enable inband progress when a RELEASE is received */
void pri_set_inbandrelease(struct pri *pri, unsigned int enable);
/* Enslave a PRI to another, so they share the same call list
(and maybe some timers) */
void pri_enslave(struct pri *master, struct pri *slave);

5
pri.c
View File

@ -782,6 +782,11 @@ void pri_set_overlapdial(struct pri *pri,int state)
pri->overlapdial = state;
}
void pri_set_inbandrelease(struct pri *pri, unsigned int enable)
{
pri->acceptinbandrelease = (enable != 0);
}
int pri_fd(struct pri *pri)
{
return pri->fd;

View File

@ -61,10 +61,11 @@ struct pri {
int localtype; /* Local network type (unknown, network, cpe) */
int remotetype; /* Remote network type (unknown, network, cpe) */
int bri;
int sapi;
int tei;
int protodisc;
unsigned int bri:1;
unsigned int acceptinbandrelease:1; /* Should we allow inband progress after RELEASE? */
/* Q.921 State */
int q921_state;

2
q931.c
View File

@ -3782,7 +3782,7 @@ int q931_receive(struct pri *pri, q931_h *h, int len)
/* wait for a RELEASE so that sufficient time has passed
for the inband audio to be heard */
if (c->progressmask & PRI_PROG_INBAND_AVAILABLE)
if (pri->acceptinbandrelease && (c->progressmask & PRI_PROG_INBAND_AVAILABLE))
break;
/* Return such an event */