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:
parent
95ccc0e03c
commit
aad7c3e8f1
3
libpri.h
3
libpri.h
@ -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
5
pri.c
@ -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;
|
||||
|
@ -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
2
q931.c
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user