I can call. I have tested. But I cannot call myself from the outside

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:

5232588848@gw1.sip.us

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



You have no way of identifying the source of incoming calls.

You haven’t overridden the default of “s” as the Contact user, but don’t have an extension to match s. (It is possible the provider violates SIP and ignores the user part of the Contact header on the REGISTER.)

What should I do

Provide an active match= line and either provide a contact user or ensure your extensions.conf expects to receive s as the extension for incoming calls.

Also, you should look at the full log (you may have to enable it in logger.conf), at at least verbosity 5, as there should have been a hint there as to at least the first problem.

It hasn’t been a week since asterisk started. Is there a sample ext and pj file?

Should never post sensitive data as password.

They come with the source code. There is also res_pjsip Configuration Examples - Asterisk Project - Asterisk Project Wiki

I couldn’t, I updated the topic.

Ticket update.

This is not a ticketing system. It’s a forum and people are free to respond or not respond as they wish. There is no timeline on any responses.

1 Like

I really hope those aren’t valid credentials you posted there… But I am pretty sure they are…