23 #include <mISDNuser/suppserv.h> 47 void beroec_init(
void);
48 void beroec_exit(
void);
49 beroec_t *beroec_new(
int tail,
enum beroec_type
type,
int anti_howl,
50 int tonedisable,
int zerocoeff,
int adapt,
int nlp);
52 void beroec_destroy(beroec_t *ec);
53 int beroec_cancel_alaw_chunk(beroec_t *ec,
58 int beroec_version(
void);
246 #define MISDN_MAX_NUMBER_LEN (31 + 1) 249 #define MISDN_MAX_NAME_LEN (50 + 1) 252 #define MISDN_MAX_SUBADDRESS_LEN (23 + 1) 255 #define MISDN_MAX_KEYPAD_LEN (31 + 1) 328 #if defined(AST_MISDN_ENHANCEMENTS) 330 struct Q931_Bc_Hlc_Llc setup_bc_hlc_llc;
423 struct timeval last_used;
494 #if defined(AST_MISDN_ENHANCEMENTS) 498 int div_leg_3_rx_wanted;
503 int div_leg_3_tx_pending;
507 struct FacParm fac_in;
512 struct FacParm fac_out;
515 enum FacFunction AOCDtype;
517 struct FacAOCDCurrency currency;
518 struct FacAOCDChargingUnit chargingUnit;
723 extern void (*
cb_log) (
int level,
int port,
char *tmpl, ...)
724 __attribute__ ((
format (printf, 3, 4)));
731 __attribute__ ((
format (printf, 3, 4)));
752 #if defined(AST_MISDN_ENHANCEMENTS) 817 #define PRI_TRANS_CAP_SPEECH 0x0 818 #define PRI_TRANS_CAP_DIGITAL 0x08 819 #define PRI_TRANS_CAP_RESTRICTED_DIGITAL 0x09 820 #define PRI_TRANS_CAP_3_1K_AUDIO 0x10 821 #define PRI_TRANS_CAP_7K_AUDIO 0x11
int display_setup
Put a display ie in the SETUP message.
int misdn_lib_get_port_down(int port)
void misdn_lib_release(struct misdn_bchannel *bc)
int misdn_lib_get_port_up(int port)
int layer
B channel layer; set to 3 or 4.
int nodsp
TRUE if we will not use jollys dsp.
void misdn_lib_bridge(struct misdn_bchannel *bc1, struct misdn_bchannel *bc2)
int misdn_lib_port_up(int port, int notcheck)
struct misdn_bchannel * misdn_lib_get_free_bc(int port, int channel, int inout, int dec)
mISDN_NOTIFY_CODE
Notification description code enumeration.
void isdn_lib_update_txgain(struct misdn_bchannel *bc)
int misdn_cap_is_speech(int cap)
void isdn_lib_update_ec(struct misdn_bchannel *bc)
int txgain
Tx gain setting (range -8 to 8)
int ec_enable
TRUE if the echo cancellor is enabled.
void misdn_lib_nt_keepcalls(int kc)
int tone_cnt
Number of tone samples to generate.
int presentation
User set presentation restriction code 0=Allowed, 1=Restricted, 2=Unavailable.
int uulen
User-User information string length in uu[].
int dummy
TRUE if this is a dummy BC record.
int stack_holder
TRUE if this channel is on the misdn_stack->holding list.
int restart_channel
B channel to restart if received a RESTART message.
int bframe_len
B channel speech sample data buffer size.
int ces
Not used. Saved mISDN stack CONNECT_t ces value.
int mode
Q.931 Bearer Capability IE Transfer Mode field. Initialized to 0 (Circuit). Altered by incoming SETUP...
int cw
TRUE if call waiting.
Connected-Line/Calling/Redirecting ID info struct.
void manager_ec_disable(struct misdn_bchannel *bc)
int hdlc
TRUE if call made in digital HDLC mode.
int misdn_lib_send_restart(int port, int channel)
mISDN_REDIRECTING_REASON
Q.931 encoded redirecting reason.
int misdn_lib_port_block(int port)
B channel control structure.
int outgoing_colp
Select what to do with outgoing COLP information.
int misdn_lib_maxports_get(void)
int presentation
Number presentation restriction code 0=Allowed, 1=Restricted, 2=Unavailable.
int sending_complete
TRUE if all digits necessary to complete the call are available. No more INFORMATION messages are nee...
int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event)
void misdn_lib_log_ies(struct misdn_bchannel *bc)
struct send_lock * send_lock
B channel send locking structure.
void manager_bchannel_activate(struct misdn_bchannel *bc)
int misdn_lib_port_restart(int port)
int capability
SETUP message bearer capability field code value.
void misdn_lib_send_tone(struct misdn_bchannel *bc, enum tone_e tone)
void * astbuf
Not used. Contents are setup but not used.
#define MISDN_MAX_KEYPAD_LEN
int AOCD_need_export
TRUE if AOCDtype and AOCD data are ready to export to Asterisk.
void(* cb_log)(int level, int port, char *tmpl,...)
int progress_location
Progress Indicator IE location field.
struct misdn_bchannel * next
Next node in the misdn_stack.holding list.
#define MISDN_MAX_NAME_LEN
void misdn_lib_echo(struct misdn_bchannel *bc, int onoff)
int layer_id
B Channel mISDN driver layer ID from mISDN_new_layer()
int misdn_lib_port_is_pri(int port)
int set_presentation
TRUE if the user set the presentation restriction code.
void isdn_lib_stop_dtmf(struct misdn_bchannel *bc)
int pri
TRUE if ISDN-PRI (ISDN-BRI otherwise)
int conf_id
Bridging conference ID.
char subaddress[MISDN_MAX_SUBADDRESS_LEN]
Dialed/Called Subaddress number.
int need_release_complete
TRUE if RELEASE_COMPLETE needs to be sent to clear a call.
int(* cb_jb_empty)(struct misdn_bchannel *bc, char *buffer, int len)
void misdn_lib_nt_debug_init(int flags, char *file)
int nt
TRUE if NT side of protocol (TE otherwise)
int holded
TRUE if this channel is on hold.
int display_connected
Put a display ie in the CONNECT message.
#define MISDN_MAX_NUMBER_LEN
int nojitter
TRUE if we will not use the jitter buffer system.
void misdn_lib_destroy(void)
int rxgain
Rx gain setting (range -8 to 8)
struct misdn_bchannel * misdn_lib_find_held_bc(int port, int l3_id)
Find a held call's B channel record.
int progress_coding
Progress Indicator IE coding standard field.
int b_stid
B Channel mISDN driver stack ID.
int misdn_lib_get_maxchans(int port)
Dialed/Called information struct.
int pid
B channel process ID (1-5000)
void misdn_lib_isdn_l1watcher(int port)
int dec
TRUE if allocate higher B channels first.
void manager_ec_enable(struct misdn_bchannel *bc)
enum mISDN_NUMBER_TYPE number_type
Type-of-number in ISDN terms for the dialed/called number.
void get_show_stack_details(int port, char *buf)
int in_use
TRUE if B channel record is in use.
int misdn_lib_init(char *portlist, struct misdn_lib_iface *iface, void *user_data)
int channel_found
TRUE if the channel was allocated from the available B channels.
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
int send_dtmf
TRUE if we should produce DTMF tones ourselves.
void misdn_lib_split_bridge(struct misdn_bchannel *bc1, struct misdn_bchannel *bc2)
enum event_response_e(* cb_event)(enum event_e event, struct misdn_bchannel *bc, void *user_data)
int port
Logical Layer 1 port associated with this B channel.
void manager_bchannel_deactivate(struct misdn_bchannel *bc)
int urate
Q.931 Bearer Capability IE Layer 1 User Rate field.
int is_register_pool
TRUE if the B channel is allocated from the REGISTER pool.
int addr
B Channel mISDN driver layer ID from mISDN_get_layerid()
int active
Seems to have been intended for something to do with the jitter buffer.
void manager_ph_control(struct misdn_bchannel *bc, int c1, int c2)
int to_changed
TRUE if the redirecting.to information has changed.
void isdn_lib_update_rxgain(struct misdn_bchannel *bc)
void misdn_dump_chanlist(void)
int channel
Assigned B channel number B1, B2... 0 if not assigned.
char * manager_isdn_get_info(enum event_e event)
int out_cause
Q.931 Cause for disconnection code (sent)
int misdn_lib_port_unblock(int port)
void misdn_make_dummy(struct misdn_bchannel *dummybc, int port, int l3id, int nt, int channel)
int need_release
TRUE if RELEASE needs to be sent to clear a call.
int need_more_infos
TRUE if we send SETUP_ACKNOWLEDGE on incoming calls anyway (instead of PROCEEDING).
int dtmf
Last decoded DTMF digit from mISDN driver.
int need_disconnect
TRUE if DISCONNECT needs to be sent to clear a call.
int misdn_inband_avail(struct misdn_bchannel *bc)
int user1
Q.931 Bearer Capability IE User Information Layer 1 Protocol field code.
int progress_indicator
Progress Indicator IE progress description field. Used to determine if there is an inband audio messa...
void misdn_lib_reinit_nt_stack(int port)
int rate
Q.931 Bearer Capability IE Information Transfer Rate field. Initialized to 0x10 (64kbit). Altered by incoming SETUP messages.
int ec_deftaps
Number of taps in the echo cancellor when enabled.
int misdn_lib_pid_restart(int pid)
int channel_preselected
TRUE if the B channel number is preselected.
void misdn_lib_tone_generator_stop(struct misdn_bchannel *bc)
char * bframe
B channel speech sample data buffer.
int cause
Q.931 Cause for disconnection code (received)
int te_choose_channel
TRUE if the TE side should choose the B channel to use.
Redirecting information struct.
void bc_state_change(struct misdn_bchannel *bc, enum bchannel_state state)
#define MISDN_MAX_SUBADDRESS_LEN
int screening
Number screening code 0=Unscreened, 1=Passed Screen, 2=Failed Screen, 3=Network Number.
int law
Companding ALaw/uLaw encoding (INFO_CODEC_ALAW / INFO_CODEC_ULAW)
static snd_pcm_format_t format
int orig
Who originated the call (ORG_AST, ORG_MISDN)
char * bc_state2str(enum bchannel_state state)
int generate_tone
TRUE if tone generator allowed to start.
int misdn_lib_is_port_blocked(int port)
int misdn_lib_get_port_info(int port)
int misdn_lib_port_is_nt(int port)
int misdn_lib_is_ptp(int port)
int misdn_lib_tx2misdn_frm(struct misdn_bchannel *bc, void *data, int len)
int count
Number of times the call has been redirected.
void misdn_lib_tone_generator_start(struct misdn_bchannel *bc)
enum mISDN_NUMBER_PLAN number_plan
Type-of-number numbering plan.
int l3_id
Layer 3 process ID.
int early_bconnect
TRUE if the call progress indicators can indicate an inband audio message for the user to listen to...