All pastes #36723 Raw Edit

Stuff

public ini v1 · immutable
#36723 ·published 2006-01-13 21:07 UTC
rendered paste body
;; SIP Configuration example for Asterisk;; Syntax for specifying a SIP device in extensions.conf is; SIP/devicename where devicename is defined in a section below.;; You may also use ; SIP/username@domain to call any SIP user on the Internet; (Don't forget to enable DNS SRV records if you want to use this); ; If you define a SIP proxy as a peer below, you may call; SIP/proxyhostname/user or SIP/user@proxyhostname ; where the proxyhostname is defined in a section below ; ; Useful CLI commands to check peers/users:;   sip show peers		Show all SIP peers (including friends);   sip show users		Show all SIP users (including friends);   sip show registry		Show status of hosts we register with;;   sip debug			Show all SIP messages;;   reload chan_sip.so		Reload configuration file;				Active SIP peers will not be reconfigured;[general]context=default			; Default context for incoming calls;allowguest=no			; Allow or reject guest calls (default is yes, this can also be set to 'osp'				; if asterisk was compiled with OSP support.;realm=mydomain.tld		; Realm for digest authentication				; defaults to "asterisk"				; Realms MUST be globally unique according to RFC 3261				; Set this to your host name or domain namebindport=5060			; UDP Port to bind to (SIP standard port is 5060)bindaddr=0.0.0.0		; IP address to bind to (0.0.0.0 binds to all)srvlookup=yes			; Enable DNS SRV lookups on outbound calls				; Note: Asterisk only uses the first host 				; in SRV records				; Disabling DNS SRV lookups disables the 				; ability to place SIP calls based on domain 				; names to some other SIP users on the Internet				;domain=mydomain.tld		; Set default domain for this host				; If configured, Asterisk will only allow				; INVITE and REFER to non-local domains				; Use "sip show domains" to list local domains;domain=mydomain.tld,mydomain-incoming				; Add domain and configure incoming context				; for external calls to this domain;domain=1.2.3.4			; Add IP address as local domain				; You can have several "domain" settings;allowexternalinvites=no	; Disable INVITE and REFER to non-local domains				; Default is yes;autodomain=yes			; Turn this on to have Asterisk add local host				; name and local IP to domain list.;pedantic=yes			; Enable slow, pedantic checking for Pingtel				; and multiline formatted headers for strict				; SIP compatibility (defaults to "no");tos=184			; Set IP QoS to either a keyword or numeric val;tos=lowdelay			; lowdelay,throughput,reliability,mincost,none;maxexpiry=3600			; Max length of incoming registration we allow;defaultexpiry=120		; Default length of incoming/outoing registration;notifymimetype=text/plain	; Allow overriding of mime type in MWI NOTIFY;checkmwi=10			; Default time between mailbox checks for peers;vmexten=voicemail      ; dialplan extension to reach mailbox sets the 						; Message-Account in the MWI notify message 						; defaults to "asterisk";videosupport=yes		; Turn on support for SIP video;recordhistory=yes		; Record SIP history by default 				; (see sip history / sip no history);disallow=all			; First disallow all codecs;allow=ulaw			; Allow codecs in order of preference;allow=ilbc			; ;musicclass=default		; Sets the default music on hold class for all SIP calls				; This may also be set for individual users/peers;language=en			; Default language setting for all users/peers				; This may also be set for individual users/peers;relaxdtmf=yes			; Relax dtmf handling;rtptimeout=60			; Terminate call if 60 seconds of no RTP activity				; when we're not on hold;rtpholdtimeout=300		; Terminate call if 300 seconds of no RTP activity				; when we're on hold (must be > rtptimeout);trustrpid = no			; If Remote-Party-ID should be trusted;sendrpid = yes			; If Remote-Party-ID should be sent;progressinband=never		; If we should generate in-band ringing always				; use 'never' to never use in-band signalling, even in cases				; where some buggy devices might not render it;useragent=Asterisk PBX		; Allows you to change the user agent string;promiscredir = no      	; If yes, allows 302 or REDIR to non-local SIP address	                       	; Note that promiscredir when redirects are made to the       	                	; local system will cause loops since SIP is incapable       	                	; of performing a "hairpin" call.;usereqphone = no		; If yes, ";user=phone" is added to uri that contains				; a valid phone number;dtmfmode = rfc2833		; Set default dtmfmode for sending DTMF. Default: rfc2833				; Other options: 				; info : SIP INFO messages				; inband : Inband audio (requires 64 kbit codec -alaw, ulaw)				; auto : Use rfc2833 if offered, inband otherwise;compactheaders = yes		; send compact sip headers.;sipdebug = yes			; Turn on SIP debugging by default, from				; the moment the channel loads this configuration;subscribecontext = default	; Set a specific context for SUBSCRIBE requests				; Useful to limit subscriptions to local extensions				; Settable per peer/user also;notifyringing = yes		; Notify subscriptions on RINGING state;; If regcontext is specified, Asterisk will dynamically create and destroy a; NoOp priority 1 extension for a given peer who registers or unregisters with; us.  The actual extension is the 'regexten' parameter of the registering; peer or its name if 'regexten' is not provided.  More than one regexten may; be supplied if they are separated by '&'.  Patterns may be used in regexten.;;regcontext=sipregistrations;; Asterisk can register as a SIP user agent to a SIP proxy (provider); Format for the register statement is:;       register => user[:secret[:authuser]]@host[:port][/extension];; If no extension is given, the 's' extension is used. The extension needs to; be defined in extensions.conf to be able to accept calls from this SIP proxy; (provider).;; host is either a host name defined in DNS or the name of a section defined; below.;; Examples:;;register => 1234:password@mysipprovider.com	;;     This will pass incoming calls to the 's' extension;;;register => 2345:password@sip_proxy/1234;;    Register 2345 at sip provider 'sip_proxy'.  Calls from this provider;    connect to local extension 1234 in extensions.conf, default context,;    unless you configure a [sip_proxy] section below, and configure a;    context.;    Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com];    Tip 2: Use separate type=peer and type=user sections for SIP providers;           (instead of type=friend) if you have calls in both directions  ;registertimeout=20		; retry registration calls every 20 seconds (default);registerattempts=10		; Number of registration attempts before we give up				; 0 = continue forever, hammering the other server until it 				; accepts the registration				; Default is 0 tries, continue forever;callevents=no			; generate manager events when sip ua performs events (e.g. hold);----------------------------------------- NAT SUPPORT ------------------------; The externip, externhost and localnet settings are used if you use Asterisk; behind a NAT device to communicate with services on the outside.;externip = 200.201.202.203	; Address that we're going to put in outbound SIP messages				; if we're behind a NAT				; The externip and localnet is used				; when registering and communicating with other proxies				; that we're registered with;externhost=foo.dyndns.net	; Alternatively you can specify an 				; external host, and Asterisk will 				; perform DNS queries periodically.  Not				; recommended for production 				; environments!  Use externip instead;externrefresh=10		; How often to refresh externhost if 				; used				; You may add multiple local networks.  A reasonable set of defaults				; are:;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks;localnet=10.0.0.0/255.0.0.0	; Also RFC1918;localnet=172.16.0.0/12		; Another RFC1918 with CIDR notation;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network; The nat= setting is used when Asterisk is on a public IP, communicating with; devices hidden behind a NAT device (broadband router).  If you have one-way; audio problems, you usually have problems with your NAT configuration or your; firewall's support of SIP+RTP ports.  You configure Asterisk choice of RTP; ports for incoming audio in rtp.conf;;nat=no				; Global NAT settings  (Affects all peers and users)                                ; yes = Always ignore info and assume NAT                                ; no = Use NAT mode only according to RFC3581                                 ; never = Never attempt NAT mode or RFC3581 support				; route = Assume NAT, don't send rport 				; (work around more UNIDEN bugs);rtcachefriends=yes		; Cache realtime friends by adding them to the internal list				; just like friends added from the config file only on a				; as-needed basis? (yes|no);rtupdate=yes			; Send registry updates to database using realtime? (yes|no)				; If set to yes, when a SIP UA registers successfully, the ip address,				; the origination port, the registration period, and the username of				; the UA will be set to database via realtime. If not present, defaults to 'yes'.;rtautoclear=yes		; Auto-Expire friends created on the fly on the same schedule				; as if it had just registered? (yes|no|<seconds>)				; If set to yes, when the registration expires, the friend will vanish from				; the configuration until requested again. If set to an integer,				; friends expire within this number of seconds instead of the				; registration interval.;ignoreregexpire=yes		; Enabling this setting has two functions:				;				; For non-realtime peers, when their registration expires, the information				; will _not_ be removed from memory or the Asterisk database; if you attempt				; to place a call to the peer, the existing information will be used in spite				; of it having expired				;				; For realtime peers, when the peer is retrieved from realtime storage,				; the registration information will be used regardless of whether				; it has expired or not; if it expires while the realtime peer is still in				; memory (due to caching or other reasons), the information will not be				; removed from realtime storage; Incoming INVITE and REFER messages can be matched against a list of 'allowed'; domains, each of which can direct the call to a specific context if desired.; By default, all domains are accepted and sent to the default context or the; context associated with the user/peer placing the call.; Domains can be specified using:; domain=<domain>[,<context>]; Examples:; domain=myasterisk.dom; domain=customer.com,customer-context;; In addition, all the 'default' domains associated with a server should be; added if incoming request filtering is desired.; autodomain=yes;; To disallow requests for domains not serviced by this server:; allowexternaldomains=no; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to                          ; non-peers, use your primary domain "identity"                          ; for From: headers instead of just your IP                          ; address. This is to be polite and                          ; it may be a mandatory requirement for some                          ; destinations which do not have a prior                          ; account relationship with your server. [authentication]; Global credentials for outbound calls, i.e. when a proxy challenges your; Asterisk server for authentication. These credentials override; any credentials in peer/register definition if realm is matched.;; This way, Asterisk can authenticate for outbound calls to other; realms. We match realm on the proxy challenge and pick an set of ; credentials from this list; Syntax:;	auth = <user>:<secret>@<realm>;	auth = <user>#<md5secret>@<realm>; Example:;auth=mark:topsecret@digium.com; ; You may also add auth= statements to [peer] definitions ; Peer auth= override all other authentication settings if we match on realm;------------------------------------------------------------------------------; Users and peers have different settings available. Friends have all settings,; since a friend is both a peer and a user;; User config options:        Peer configuration:; --------------------        -------------------; context                     context; permit                      permit; deny                        deny; secret                      secret; md5secret                   md5secret; dtmfmode                    dtmfmode; canreinvite                 canreinvite; nat                         nat; callgroup                   callgroup; pickupgroup                 pickupgroup; language                    language; allow                       allow; disallow                    disallow; insecure                    insecure; trustrpid                   trustrpid; progressinband              progressinband; promiscredir                promiscredir; useclientcode               useclientcode; accountcode                 accountcode; setvar                      setvar; callerid		      callerid; amaflags		      amaflags; call-limit		      call-limit; restrictcid		      restrictcid; subscribecontext	      subscribecontext; videosupport		      videosupport;                             mailbox;                             username;                             template;                             fromdomain;                             regexten;                             fromuser;                             host;                             port;                             qualify;                             defaultip;                             rtptimeout;                             rtpholdtimeout;                             sendrpid;[sip_proxy]; For incoming calls only. Example: FWD (Free World Dialup); We match on IP address of the proxy for incoming calls ; since we can not match on username (caller id);type=peer;context=from-fwd;host=fwd.pulver.com;[sip_proxy-out];type=peer          		; we only want to call out, not be called;secret=guessit;username=yourusername		; Authentication user for outbound proxies;fromuser=yourusername		; Many SIP providers require this!;fromdomain=provider.sip.domain	;host=box.provider.com;usereqphone=yes		; This provider requires ";user=phone" on URI;call-limit=5			; permit only 5 simultaneous outgoing calls to this peer;------------------------------------------------------------------------------; Definitions of locally connected SIP phones;; type = user	a device that authenticates to us by "from" field to place calls; type = peer	a device we place calls to or that calls us and we match by host; type = friend two configurations (peer+user) in one;; For local phones, type=friend works most of the time;; If you have one-way audio, you propably have NAT problems. ; If Asterisk is on a public IP, and the phone is inside of a NAT device; you will need to configure nat option for those phones.; Also, turn on qualify=yes to keep the nat session open;[grandstream1];type=friend 			;context=from-sip		; Where to start in the dialplan when this phone calls;callerid=John Doe <1234>	; Full caller ID, to override the phones config;host=192.168.0.23		; we have a static but private IP address				; No registration allowed;nat=no				; there is not NAT between phone and Asterisk;canreinvite=yes		; allow RTP voice traffic to bypass Asterisk;dtmfmode=info			; either RFC2833 or INFO for the BudgeTone;call-limit=1			; permit only 1 outgoing call and 1 incoming call at a time				; from the phone to asterisk				; (1 for the explicit peer, 1 for the explicit user,				; remember that a friend equals 1 peer and 1 user in				; memory);mailbox=1234@default		; mailbox 1234 in voicemail context "default";disallow=all			; need to disallow=all before we can use allow=;allow=ulaw			; Note: In user sections the order of codecs				; listed with allow= does NOT matter!;allow=alaw;allow=g723.1			; Asterisk only supports g723.1 pass-thru!;allow=g729			; Pass-thru only unless g729 license obtained;astdb=chan2ext/SIP/grandstream1=1234	; ensures an astDB entry exists;[xlite1]; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed;type=friend;regexten=1234			; When they register, create extension 1234;callerid="Jane Smith" <5678>;host=dynamic			; This device needs to register;nat=yes			; X-Lite is behind a NAT router;canreinvite=no			; Typically set to NO if behind NAT;disallow=all;allow=gsm			; GSM consumes far less bandwidth than ulaw;allow=ulaw;allow=alaw;mailbox=1234@default,1233@default	; Subscribe to status of multiple mailboxes;[snom];type=friend			; Friends place calls and receive calls;context=from-sip		; Context for incoming calls from this user;secret=blah;subscribecontext=localextensions	; Only allow SUBSCRIBE for local extensions;language=de			; Use German prompts for this user ;host=dynamic			; This peer register with us;dtmfmode=inband		; Choices are inband, rfc2833, or info;defaultip=192.168.0.59		; IP used until peer registers;mailbox=1234@context,2345      ; Mailbox(-es) for message waiting indicator;vmexten=voicemail      ; dialplan extension to reach mailbox                         ; sets the Message-Account in the MWI notify message                        ; defaults to global vmexten which defaults to "asterisk";restrictcid=yes		; To have the callerid restriced -> sent as ANI;disallow=all;allow=ulaw			; dtmfmode=inband only works with ulaw or alaw!;[polycom];type=friend			; Friends place calls and receive calls;context=from-sip		; Context for incoming calls from this user;secret=blahpoly;host=dynamic			; This peer register with us;dtmfmode=rfc2833		; Choices are inband, rfc2833, or info;username=polly			; Username to use in INVITE until peer registers				; Normally you do NOT need to set this parameter;disallow=all;allow=ulaw                     ; dtmfmode=inband only works with ulaw or alaw!;progressinband=no		; Polycom phones don't work properly with "never";[pingtel];type=friend;secret=blah;host=dynamic;insecure=port			; Allow matching of peer by IP address without matching port number;insecure=invite		; Do not require authentication of incoming INVITEs;insecure=port,invite		; (both);qualify=1000			; Consider it down if it's 1 second to reply				; Helps with NAT session				; qualify=yes uses default value;callgroup=1,3-4		; We are in caller groups 1,3,4;pickupgroup=1,3-5		; We can do call pick-p for call group 1,3,4,5;defaultip=192.168.0.60		; IP address to use if peer has not registred;[cisco1];type=friend;secret=blah;qualify=200			; Qualify peer is no more than 200ms away;nat=yes			; This phone may be natted				; Send SIP and RTP to the IP address that packet is 				; received from instead of trusting SIP headers ;host=dynamic			; This device registers with us;canreinvite=no			; Asterisk by default tries to redirect the				; RTP media stream (audio) to go directly from				; the caller to the callee.  Some devices do not				; support this (especially if one of them is 				; behind a NAT).;defaultip=192.168.0.4		; IP address to use until registration;username=goran			; Username to use when calling this device before registration				; Normally you do NOT need to set this parameter;setvar=CUSTID=5678		; Channel variable to be set for all calls from this device[snom]type=friend			; Friends place calls and receive callscontext=default		; Context for incoming calls from this userhost=dynamic			; This peer register with usdefaultip=192.168.0.240		; IP used until peer registerssubscribecontext=democontext=demo;mailbox=240@CRESSIDA,240      ; Mailbox(-es) for message waiting indicator[snom2]type=friend			; Friends place calls and receive callscontext=default		; Context for incoming calls from this userhost=dynamic			; This peer register with usdefaultip=192.168.0.239		; IP used until peer registerssubscribecontext=democontext=demo;mailbox=239@CRESSIDA,239      ; Mailbox(-es) for message waiting indicator