Asterisk-pjsip.conf
Revision as of 14:31, 25 October 2017 by Pchero (talk | contribs) (→endpoint configured as a trunk, outbound authentication)
Overview
Asterisk 의 pjsip 모듈 설정파일 pjsip.conf 내용 정리.
Basic
; Overview of Configuration Section Types Used in the Examples ; ; * Transport "transport" ; * Configures res_pjsip transport layer interaction. ; * Endpoint "endpoint" ; * Configures core SIP functionality related to SIP endpoints. ; * Authentication "auth" ; * Stores inbound or outbound authentication credentials for use by trunks, ; endpoints, registrations. ; * Address of Record "aor" ; * Stores contact information for use by endpoints. ; * Endpoint Identification "identify" ; * Maps a host directly to an endpoint ; * Access Control List "acl" ; * Defines a permission list or references one stored in acl.conf ; * Registration "registration" ; * Contains information about an outbound SIP registration ; * Phone Provisioning "phoneprov" ; * Contains information needed by res_phoneprov for autoprovisioning
ENDPOINT
transport type
transport type. TCP, UDP 혹은 WebSocket 과 같은 프로토콜이나 TLS/SSL 과 같은 암호화를 설정한다.
Example
Basic UDP transport
[transport-udp] type=transport protocol=udp ;udp,tcp,tls,ws,wss bind=0.0.0.0
UDP transport behind NAT
[transport-udp-nat] type=transport protocol=udp bind=0.0.0.0 local_net=192.0.2.0/24 external_media_address=203.0.113.1 external_signaling_address=203.0.113.1
Basic IPv6 UDP tranport
[transport-udp-ipv6] type=transport protocol=udp bind=::
Exmple IPv4 TLS transport
[transport-tls] type=transport protocol=tls bind=0.0.0.0 cert_file=/path/mycert.crt priv_key_file=/path/mykey.key cipher=ADH-AES256-SHA,ADH-AES128-SHA method=tlsv1
endpoint type
Example
Example
endpoint configured as a trunk, outbound authentication
[mytrunk] type=endpoint transport=transport-udp context=from-external disallow=all allow=ulaw outbound_auth=mytrunk_auth aors=mytrunk ;A few NAT relevant options that may come in handy. force_rport=yes ;It's a good idea to read the configuration help for each direct_media=no ;of these options. ice_support=yes [mytrunk] type=aor contact=sip:198.51.100.1:5060 contact=sip:198.51.100.2:5060 [mytrunk] type=identify endpoint=mytrunk match=198.51.100.1 match=198.51.100.2
endpoint configured as a trunk, inbound auth and registration
[7000] type=endpoint context=from-external disallow=all allow=ulaw transport=transport-udp auth=7000 aors=7000 [7000] type=auth auth_type=userpass password=7000 username=7000 [7000] type=aor max_contacts=1
endpoint configured for use with a sip phone
[6001] type=endpoint transport=transport-udp context=from-internal disallow=all allow=ulaw allow=gsm auth=6001 aors=6001 ; ; A few more transports to pick from, and some related options below them. ; transport=transport-tls media_encryption=sdes transport=transport-udp-ipv6 rtp_ipv6=yes transport=transport-udp-nat direct_media=no ; ; MWI related options aggregate_mwi=yes mailboxes=6001@default,7001@default mwi_from_user=6001 ; ; Extension and Device state options ; device_state_busy_at=1 allow_subscribe=yes sub_min_expiry=30 [6001] type=auth auth_type=userpass password=6001 username=6001 [6001] type=aor max_contacts=1 contact=sip:6001@192.0.2.1:5060
AUTH
접속 인증 설정.
Example
An example with username and password authentication.
[auth6001] type=auth auth_type=userpass password=6001 username=6001
MD5 authentication
[auth6001] type=auth auth_type=md5 md5_cred=51e63a3da6425a39aecc045ec45f1ae8 username=6001
AOR(Address of Record)
Example
Create automatic contact objects.
[6001] type=aor max_contacts=1
Create manual contact objects.
[6001] type=aor contact=sip:6001@192.0.2.1:5060
It's useful to note that you could define only the domain and omit the user portion of the SIP URI ifyou wanted. Then you could define the user portion dynamically in your dialplan when calling the Dial application. You'll likely do this when building an AOR/Endpoint combo to use for dialing out to an ITSP. For example: "Dial(PJSIP/${EXTEN}@mytrunk)"
[mytrunk] type=aor contact=sip:203.0.113.1:5060