mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 20:44:20 +00:00
The original report had to do with a realtime peer behind NAT being pruned and the peer's private address being used instead of its external address. Upon debugging, it was discovered that this was being caused by the addition of the auto_force_rport and auto_comedia settings. This patch does the following: * Adds a missing note to the CHANGES file indicating that the default global nat setting is auto_force_rport * Constify the 'req' parameter for check_via() * Add calls to check_via() in a couple of places in order for the auto_* settings to do their job in attempting to determine if NAT is involved * Set the flags SIP_NAT_FORCE_RPORT and SIP_PAGE2_SYMMETRICRTP if the auto_* settings are in use where it was needed * Moves the copying of peer flags up in build_peer() to before they are used; this fixes the realtime prune issue * Update the contrib/realtime schemas to allow the nat column to handle the different nat setting combinations we have This patch received a review and "Ship It!" on the issue itself. (closes issue ASTERISK-20904) Reported by: JoshE Tested by: JoshE, Michael L. Young Patches: asterisk-20904-nat-auto-and-rt-peersv2.diff Michael L. Young (license 5026) ........ Merged revisions 382322 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
148 lines
4.5 KiB
SQL
148 lines
4.5 KiB
SQL
drop table extensions_conf;
|
|
|
|
CREATE TABLE extensions_conf (
|
|
id serial NOT NULL,
|
|
context character varying(20) DEFAULT '' NOT NULL,
|
|
exten character varying(20) DEFAULT '' NOT NULL,
|
|
priority smallint DEFAULT 0 NOT NULL,
|
|
app character varying(20) DEFAULT '' NOT NULL,
|
|
appdata character varying(128)
|
|
);
|
|
|
|
drop table cdr;
|
|
CREATE TABLE cdr (
|
|
calldate timestamp with time zone DEFAULT now() NOT NULL,
|
|
clid character varying(80) DEFAULT '' NOT NULL,
|
|
src character varying(80) DEFAULT '' NOT NULL,
|
|
dst character varying(80) DEFAULT '' NOT NULL,
|
|
dcontext character varying(80) DEFAULT '' NOT NULL,
|
|
channel character varying(80) DEFAULT '' NOT NULL,
|
|
dstchannel character varying(80) DEFAULT '' NOT NULL,
|
|
lastapp character varying(80) DEFAULT '' NOT NULL,
|
|
lastdata character varying(80) DEFAULT '' NOT NULL,
|
|
duration bigint DEFAULT 0::bigint NOT NULL,
|
|
billsec bigint DEFAULT 0::bigint NOT NULL,
|
|
disposition character varying(45) DEFAULT '' NOT NULL,
|
|
amaflags bigint DEFAULT 0::bigint NOT NULL,
|
|
accountcode character varying(20) DEFAULT '' NOT NULL,
|
|
uniqueid character varying(32) DEFAULT '' NOT NULL,
|
|
userfield character varying(255) DEFAULT '' NOT NULL
|
|
);
|
|
|
|
drop table sip_conf;
|
|
CREATE TABLE sip_conf (
|
|
id serial NOT NULL,
|
|
name character varying(80) DEFAULT '' NOT NULL,
|
|
accountcode character varying(20),
|
|
amaflags character varying(7),
|
|
callgroup character varying(10),
|
|
callerid character varying(80),
|
|
canreinvite character varying(3) DEFAULT 'yes',
|
|
context character varying(80),
|
|
defaultip character varying(15),
|
|
dtmfmode character varying(7),
|
|
fromuser character varying(80),
|
|
fromdomain character varying(80),
|
|
host character varying(31) DEFAULT '' NOT NULL,
|
|
insecure character varying(4),
|
|
"language" character varying(2),
|
|
mailbox character varying(50),
|
|
md5secret character varying(80),
|
|
nat character varying(29) DEFAULT '' NOT NULL,
|
|
permit character varying(95),
|
|
deny character varying(95),
|
|
mask character varying(95),
|
|
pickupgroup character varying(10),
|
|
port character varying(5) DEFAULT '' NOT NULL,
|
|
qualify character varying(3),
|
|
restrictcid character varying(1),
|
|
rtptimeout character varying(3),
|
|
rtpholdtimeout character varying(3),
|
|
secret character varying(80),
|
|
"type" character varying DEFAULT 'friend' NOT NULL,
|
|
username character varying(80) DEFAULT '' NOT NULL,
|
|
allow character varying(200) DEFAULT '!all,g729,ilbc,gsm,ulaw,alaw',
|
|
musiconhold character varying(100),
|
|
regseconds bigint DEFAULT 0::bigint NOT NULL,
|
|
ipaddr character varying(45) DEFAULT '' NOT NULL,
|
|
regexten character varying(80) DEFAULT '' NOT NULL,
|
|
cancallforward character varying(3) DEFAULT 'yes',
|
|
lastms integer DEFAULT 0 NOT NULL,
|
|
defaultuser character varying(80),
|
|
fullcontact character varying(80),
|
|
regserver character varying(30),
|
|
useragent character varying(40),
|
|
callbackextension character varying(40)
|
|
);
|
|
|
|
drop table voicemail_users;
|
|
CREATE TABLE voicemail_users (
|
|
id serial NOT NULL,
|
|
customer_id bigint DEFAULT (0)::bigint NOT NULL,
|
|
context character varying(50) DEFAULT '' NOT NULL,
|
|
mailbox bigint DEFAULT (0)::bigint NOT NULL,
|
|
"password" character varying(4) DEFAULT '0' NOT NULL,
|
|
fullname character varying(50) DEFAULT '' NOT NULL,
|
|
email character varying(50) DEFAULT '' NOT NULL,
|
|
pager character varying(50) DEFAULT '' NOT NULL,
|
|
stamp timestamp(6) without time zone NOT NULL
|
|
);
|
|
|
|
drop table queue_table;
|
|
CREATE TABLE queue_table (
|
|
name varchar(128),
|
|
musiconhold varchar(128),
|
|
announce varchar(128),
|
|
context varchar(128),
|
|
timeout int8,
|
|
monitor_join bool,
|
|
monitor_format varchar(128),
|
|
queue_youarenext varchar(128),
|
|
queue_thereare varchar(128),
|
|
queue_callswaiting varchar(128),
|
|
queue_holdtime varchar(128),
|
|
queue_minutes varchar(128),
|
|
queue_seconds varchar(128),
|
|
queue_lessthan varchar(128),
|
|
queue_thankyou varchar(128),
|
|
queue_reporthold varchar(128),
|
|
announce_frequency int8,
|
|
announce_round_seconds int8,
|
|
announce_holdtime varchar(128),
|
|
retry int8,
|
|
wrapuptime int8,
|
|
maxlen int8,
|
|
servicelevel int8,
|
|
strategy varchar(128),
|
|
joinempty varchar(128),
|
|
leavewhenempty varchar(128),
|
|
eventmemberstatus bool,
|
|
eventwhencalled bool,
|
|
reportholdtime bool,
|
|
memberdelay int8,
|
|
weight int8,
|
|
timeoutrestart bool,
|
|
setinterfacevar bool,
|
|
PRIMARY KEY (name)
|
|
) WITHOUT OIDS;
|
|
ALTER TABLE queue_table OWNER TO asterisk;
|
|
|
|
drop table queue_member_table;
|
|
CREATE TABLE queue_member_table
|
|
(
|
|
queue_name varchar(128),
|
|
interface varchar(128),
|
|
penalty int8,
|
|
PRIMARY KEY (queue_name, interface)
|
|
) WITHOUT OIDS;
|
|
|
|
GRANT ALL ON TABLE cdr TO asterisk;
|
|
GRANT ALL ON TABLE extensions_conf TO asterisk;
|
|
GRANT ALL ON TABLE sip_conf TO asterisk;
|
|
GRANT ALL ON TABLE voicemail_users TO asterisk;
|
|
GRANT ALL ON TABLE queue_member_table TO asterisk;
|
|
GRANT ALL ON TABLE queue_table TO asterisk;
|
|
|
|
|
|
|