I can call. I have tested. But I cannot call myself from the outside.
Trunk 5232588848
Identifier Trunk 1
Password
3gDrlcUjP0wiGwn2RYvKu
CID Override not set
Registrar Details:
IP:PORT 176.217.13.107:56011
TELEPHONE NUMBERS
12028883999
pjsip.conf
;================================ TRANSPORTS ==
; Our primary transport definition for UDP communication behind NAT.
[transport-udp-nat]
type = transport
protocol = udp
bind = 0.0.0.0
; NAT settings
;local_net = 10.0.0.0/8
;external_media_address = 203.0.113.1
;external_signaling_address = 203.0.113.1
;================================ CONFIG FOR SIP ITSP ==
; Registration for Digium Cloud Services Account
[dcs-trunk]
type = registration
outbound_auth = dcs-trunk-auth
server_uri = sip:gw1.sip.us
client_uri = sip:5232588848@gw1.sip.us
retry_interval = 60
[dcs-trunk-auth]
type = auth
auth_type = userpass
username = 5232588848
password = 3gDrlcUjP0wiGwn2RYvKu
; Endpoint for Digium Cloud Services account
[dcs-endpoint]
type=endpoint
context = DCS-Incoming
allow = !all,g722,ulaw
outbound_auth = dcs-auth
aors = dcs-aor
direct_media = no
from_domain = gw1.sip.us
[dcs-auth]
type = auth
auth_type = userpass
username = 5232588848
password = 3gDrlcUjP0wiGwn2RYvKu
realm = gw1.sip.us
[dcs-aor]
type = aor
contact = sip:gw1.sip.us
[dcs-identify]
type=identify
endpoint = dcs-endpoint
;match = 8.17.32.12
;================================ ENDPOINT TEMPLATES ==
; Our primary endpoint template for internal desk phones.
[endpoint-internal-d70](!)
type = endpoint
context = Long-Distance
allow = !all,g722,ulaw
direct_media = no
trust_id_outbound = yes
device_state_busy_at = 1
dtmf_mode = rfc4733
[auth-userpass](!)
type = auth
auth_type = userpass
[aor-single-reg](!)
type = aor
max_contacts = 1
;================================ ENDPOINT DEFINITIONS ==
; Below are the definitions for all staff devices, listed by department.
;
; Super Awesome Company uses the MAC address of their devices for the auth
; username and the extension number for the name of the endpoint, auth and
; aor objects. If your phones must use the same user ID and auth name then
; you will need to customize the endpoints accordingly.
;================================ MANAGEMENT ==
;Lindsey Freddie
;President for Life
[1107](endpoint-internal-d70)
auth = 1107
aors = 1107
callerid = Lindsey Freddie <1107>
[1107](auth-userpass)
password = 4webrEtHupHewu4
username = 0019159BF771
[1107](aor-single-reg)
mailboxes = 1107@example
;================================
;Temple Morgan
;Life Assistant to the President for Life
[1111](endpoint-internal-d70)
auth = 1111
aors = 1111
callerid = Temple Morgan <1111>
[1111](auth-userpass)
password = be4eberEkUsUMaF
username = 000FD3012445
[1111](aor-single-reg)
mailboxes = 1111@example
;================================
;Terry Jules
;Director of Sales
[1109](endpoint-internal-d70)
auth = 1109
aors = 1109
callerid = Terry Jules <1109>
[1109](auth-userpass)
password = sPeFaChe7ruxarE
username = 00094558B29E
[1109](aor-single-reg)
mailboxes = 1109@example
;================================
;Maria Berny
;Director of Customer Experience
[1101](endpoint-internal-d70)
auth = 1101
aors = 1101
callerid = Maria Berny <1101>
[1101](auth-userpass)
password = SW2fur7facrarac
username = 3605657CFB45
[1101](aor-single-reg)
mailboxes = 1101@example
;================================
;Penelope Bronte
;Director of Engineering
[1103](endpoint-internal-d70)
auth = 1103
aors = 1103
callerid = Penelope Bronte <1103>
[1103](auth-userpass)
password = zutAnacHe8ewuWr
username = D5F646797302
[1103](aor-single-reg)
mailboxes = 103@example
;================================
;Aaron Courtney
;Accounting and Records
[1106](endpoint-internal-d70)
auth = 1106
aors = 1106
callerid = Aaron Courtney <1106>
[1106](auth-userpass)
password = tecrUBUs3u7uTab
username = EAFB2F4319C4
[1106](aor-single-reg)
mailboxes = 1106@example
;================================ SALES STAFF ==
;================================
;Garnet Claude
;Sales Associate
[1105](endpoint-internal-d70)
auth = 1105
aors = 1105
callerid = Garnet Claude <1105>
[1105](auth-userpass)
password = Q7rAphatRusteSW
username = 5187E6D311BE
[1105](aor-single-reg)
mailboxes = 1105@example
;================================
;Franny Ocean
;Sales Associate
[1112](endpoint-internal-d70)
auth = 1112
aors = 1112
callerid = Franny Ocean <1112>
[1112](auth-userpass)
password = nefReSTAq8phaph
username = ACC6BC73A990
[1112](aor-single-reg)
mailboxes = 1112@example
;================================ CUSTOMER SERVICE STAFF =
;================================
;Dusty Williams
;Customer Advocate
[1115](endpoint-internal-d70)
auth = 1115
aors = 1115
callerid = Dusty Williams <1115>
[1115](auth-userpass)
password = cEBraN2trezaqEt
username = 2C61DA1AA74B
[1115](aor-single-reg)
mailboxes = 1115@example
;================================
;Tommie Briar
;Customer Advocate
[1102](endpoint-internal-d70)
auth = 1102
aors = 1102
callerid = Tommie Briar <1102>
[1102](auth-userpass)
password = 6EBu8egespUwuth
username = 558EF2645DC7
[1102](aor-single-reg)
mailboxes = 1102@example
;================================ ENGINEERING STAFF ==
;================================
;Hollis Justy
;Software Engineer
[1110](endpoint-internal-d70)
auth = 1110
aors = 1110
callerid = Hollis Justy <1110>
[1110](auth-userpass)
password = vust6spuFereThA
username = D3D55712AED0
[1110](aor-single-reg)
mailboxes = 1110@example
;================================
;Richard Casey
;Software Engineer
[1104](endpoint-internal-d70)
auth = 1104
aors = 1104
callerid = Richard Casey <1104>
[1104](auth-userpass)
password = fU8puzuzEpRuSTa
username = 13B29A457ED5
[1104](aor-single-reg)
mailboxes = 1104@example
;================================
;Sal Smith
;Software Engineer
[1114](endpoint-internal-d70)
auth = 1114
aors = 1114
callerid = Sal Smith <1114>
[1114](auth-userpass)
password = XapR4munEcadrub
username = C369192006EA
[1114](aor-single-reg)
mailboxes = 1114@example
;================================
;Laverne Roberts
;Software Engineer
[1113](endpoint-internal-d70)
auth = 1113
aors = 1113
callerid = Laverne Roberts <1113>
[1113](auth-userpass)
password = mu8aPr4daJAQaDE
username = B07FF579AAC8
[1113](aor-single-reg)
mailboxes = 1113@example
;================================
;Colby Hildred
;IT Systems
[1108](endpoint-internal-d70)
auth = 1108
aors = 1108
callerid = Colby Hildred <1108>
[1108](auth-userpass)
password = KAthufrudE6uyAs
username = DB589C0875AB
[1108](aor-single-reg)
mailboxes = 1108@example
extensions.conf
[globals]
; General internal dialing options used in context Dial-Users.
; Only the timeout is defined here. See the Dial app documentation for
; additional options.
INTERNAL_DIAL_OPT=,30
[Hints]
; Allow dynamic hint creation for every extension.
exten = _11XX,hint,PJSIP/${EXTEN}
[Features]
; Extension to check user voicemail. We don't require the user to enter
; their pincode.
exten = 8000,1,Verbose(1, "User ${CALLERID(num)} dialed the voicemail feature.")
same = n,VoiceMailMain(${CALLERID(num)}@example,s)
same = n,Hangup()
; Exten to dial the main IVR internally.
exten = 1100,1,Verbose(1, "User ${CALLERID(num)} dialed the IVR.")
same = n,Goto(Main-IVR,2565551100,1)
;Extension to enter a conference intended only for employees
exten = 6000,1,Verbose(1, "User ${CALLERID(num)} dialed the employee conference.")
same = n,Confbridge(employees)
same = n,Hangup()
;Extension to enter a conference intended for employees and customers
exten = 6500,1,Verbose(1, "User ${CALLERID(num)} dialed the employee/customer mixed conference.")
same = n,Confbridge(mixed)
same = n,Hangup()
[External-Features]
; Extension for users to remotely check voicemail. Here we require the caller to
; enter their mailbox and pincode.
exten = 2565551234,1,Verbose(1, "User ${CALLERID(num)} dialed into remote voicemail.")
same = n,VoiceMailMain(example)
same = n,Hangup()
; Extension to queue for sales.
; The queue has a 300 second timeout.
exten = 2565551200,1,Verbose(1, "User ${CALLERID(num)} dialed the sales queue.")
same = n,Answer()
same = n,Queue(sales,,,,300)
same = n,Goto(operator,1)
; Extension to queue for a customer advocate.
; The queue has a 1200 second timeout.
exten = 2565551250,1,Verbose(1, "User ${CALLERID(num)} dialed the customer advocate queue.")
same = n,Answer()
same = n,Queue(customer_advocate,,,,1200)
same = n,Goto(operator,1)
[Dialing-Errors]
; Handle any extensions dialed internally that don't otherwise exist.
; Comment out or remove this extension if you would rather have the calls
; ignored.
exten = _X.,1,Verbose(1, "User ${CALLERID(num)} dialed an invalid number.")
same = n,Playback(pbx-invalid)
same = n,Hangup()
[Internal-Setup]
; Here we capture internal calls to do anything we need to do before sending
; them onto all the possible internal locations. Such as disabling CDR on
; internal to internal calls.
exten = _X.,1,NoOp()
same = n,Set(CDR_PROP(disable)=1)
same = n,Goto(Internal-Main,${EXTEN},1)
; The Internal-Main context provides a way for internal callers to get access to most
; features and functions configured for them. External callers may be sent
; directly to some of the contexts you see included here, so the included
; contexts are not necessarily internal only.
[Internal-Main]
; The order of includes here is important for matching the right extensions.
include = Hints
include = Features
include = Dial-Users
include = Dialing-Errors
; Dial-Users handles calls to internal extensions.
; Calls coming into this context may be *external* or *internal* in origin.
[Dial-Users]
exten = _11XX,1,Verbose(1, "User ${CALLERID(num)} dialed ${EXTEN}.")
same = n,Set(SAC_DIALED_EXTEN=${EXTEN})
same = n,Gotoif($[${DEVICE_STATE(PJSIP/${EXTEN})} = BUSY]?dialed-BUSY,1:)
same = n,Dial(PJSIP/${EXTEN}${INTERNAL_DIAL_OPT})
same = n,Goto(dialed-${DIALSTATUS},1)
exten = dialed-NOANSWER,1,NoOp()
same = n,Voicemail(${SAC_DIALED_EXTEN}@example,u)
same = n,Hangup()
exten = dialed-BUSY,1,NoOp()
same = n,Voicemail(${SAC_DIALED_EXTEN}@example,b)
same = n,Hangup()
exten = dialed-CHANUNAVAIL,1,NoOp()
same = n,Playback(pbx-invalid)
same = n,Hangup()
exten = _dialed-.,1,Goto(dialed-NOANSWER,1)
exten = h,1,Hangup()
; Callers in the directory may dial 0 which will jump to the
; 'o' extension.
exten = o,1,Goto(1111)
; Outbound-Dial
;
; Before we dial, see if the extension matches our restricted number patterns.
; Note that this is a basic set of numbers which could incur a fee if dialed.
; The NANP includes many other numbers that you may want to block. If you feel
; it is necessary to block further number patterns you'll have to add them below
; or you may consider implementing a blacklist via methods beyond the scope of
; this example.
[Outbound-Dial]
exten = _011.,1,Hangup()
exten = _900NXXXXXX,1,Hangup()
exten = _1900NXXXXXX,1,Hangup()
exten = _976XXXX,1,Hangup()
exten = _NXX976XXXX,1,Hangup()
exten = _1NXX976XXXX,1,Hangup()
; Dial outbound through our SIP ITSP.
exten = _X.,1,Verbose(1, "Didn't match any restricted numbers, proceeding with outbound dial.")
same = n,Set(CALLERID(num)=256555${CALLERID(num)})
same = n,Dial(PJSIP/${EXTEN}@dcs-endpoint)
same = n,Hangup()
; Calls from internal endpoints will enter into one of the two following
; contexts based on their dialing privilege.
[Local]
include = Internal-Setup
exten = _NXXXXXX,1,Goto(Outbound-Dial,1256${EXTEN},1)
exten = _256NXXXXXX,1,Goto(Outbound-Dial,1${EXTEN},1)
exten = _1256NXXXXXX,1,Goto(Outbound-Dial,${EXTEN},1)
[Long-Distance]
include = Local
exten = _NXXNXXXXXX,1,Goto(Outbound-Dial,1${EXTEN},1)
exten = _1NXXNXXXXXX,1,Goto(Outbound-Dial,${EXTEN},1)
; The DID-Extensions context captures inbound calls from our ITSP that have a
; DID number where the last four digits matches an internal extension.
[DID-Extensions]
exten = _25655511XX,1,Verbose(1, "External caller dialed inbound to DID ${EXTEN})")
same = n,Goto(Dial-Users,${EXTEN:6},1)
; Our main IVR program for receiving inbound callers.
; The IVR script reads “Thank you for calling Super Awesome Company, Waldo’s
; premier provider of perfect products. If you know your party’s extension,
; you may dial it at any time. To establish a sales partnership, press one. To
; speak with a customer advocate, press two. For accounting and other
; receivables, press three. For a company directory, press four. For an
; operator, press zero.”
; demo-congrats is currently used as a placeholder.
[Main-IVR]
exten = 2565551100,1,Verbose(1, "New caller, ${CALLERID(num)} dialed into the IVR.")
same = n,Answer()
same = n(start),Background(basic-pbx-ivr-main)
same = n,WaitExten(10)
same = n,Background(basic-pbx-ivr-main)
same = n,Hangup()
exten = 0,1,Verbose(1, "Caller ${CALLERID(num)} dialed the operator.")
same = n,Goto(Dial-Users,1111,1)
exten = 1,1,Verbose(1, "Caller ${CALLERID(num)} dialed the Sales queue.")
same = n,Goto(External-Features,2565551200,1)
exten = 2,1,Verbose(1, "Caller ${CALLERID(num)} dialed the Customer Experience queue.")
same = n,Goto(External-Features,2565551250,1)
exten = 3,1,Verbose(1, "Caller ${CALLERID(num)} dialed Accounting and Receivables.")
same = n,Goto(Dial-Users,1106,1)
exten = 4,1,Verbose(1, "Caller ${CALLERID(num)} dialed the directory.")
same = n,Directory(example,Dial-Users)
exten = i,1,Playback(option-is-invalid)
same = n,Goto(2565551100,start)
exten = t,1,Playback(are-you-still-there)
same = n,Goto(2565551100,start)
; Calls from our ITSP SIP account arrive in DCS-Incoming. We should be careful
; to route calls very explicitly so as to avoid any security issues, such as
; accidentally giving outbound dial access to inbound callers.
;
; Each context includes extension pattern matching to match the inbound DID
; dialed appropriately.
[DCS-Incoming]
include = Main-IVR
include = DID-Extensions
include = External-Features