I have done some poking around and have not found an answer to this one, however my gut tells me that this is a complete noob question.
Sorry.
I have configured a single asterisk server (Asterisk 11) to take an incoming call from Google Voice, answer it and play back a soundfile.
By watching the debugs, I can:
- See the call arrive via the XMPP debugs
- See the call get mapped to the correct context and the extension get matched
- See the answer and playback functions invoked.
However, all I hear is ringing on my end, and ultimately I get the Google Voice message that the “subscriber is not available”. If I log into my personal account (which is buddies with my account on which I am doing the testing), I can see my available status and my status message. If I have my test gmail account up, I get ringing in the chat window and can answer the call there.
Why can’t Asterisk answer the call?
Relevant configs below
extensions.conf
; Dialplan file
[DPlan1]
exten => 100,1,Dial(SIP/smp2)
exten => 200,1,Answer()
same => n,Playback(zombies)
same => n,Hangup()
exten => 300,1,Dial(motif/google/mlaarons@gmail.com,r)
same => n,Hangup()
exten => 400,1,Dial(motif/google/mlaarons@gmail.com,r)
same => n,Hangup()
exten => _1XXXXXXXXXX,1,Dial(motif/google/${EXTEN}@voice.google.com,r)
same => n,Hangup()
;
;Added by MLA
;
[incoming-motif]
exten => s,1,Answer()
same => n,Wait(2)
; same => n,SendDTMF(2)
same => n,Playback(you-sound-cute)
; same => n,Dial(SIP/200@netscaler)
same => n,Hangup()
xmpp.conf
[general]
debug=yes ; Enable debugging (disabled by default).
;autoprune=yes ; Auto remove users from buddy list. Depending on your
; setup (ie, using your personal Gtalk account for a test)
; you might lose your contacts list. Default is ‘no’.
;autoregister=yes ; Auto register users from buddy list.
;collection_nodes=yes ; Enable support for XEP-0248 for use with
; distributed device state. Default is ‘no’.
;pubsub_autocreate=yes ; Whether or not the PubSub server supports/is using
; auto-create for nodes. If it is, we have to
; explicitly pre-create nodes before publishing them.
; Default is ‘no’.
auth_policy=accept ; Auto accept users’ subscription requests (default).
; Set to deny for auto denial.
[google]
type=client ; Client or Component connection
serverhost=talk.google.com ; Route to server for example, talk.google.com
;pubsub_node=pubsub.astjab.org ; Node to use for publishing events via PubSub
username=REDACTED@gmail.com ; Username with optional resource.
secret=REDACTED ; Password
priority=1 ; Resource priority
port=5222 ; Port to use defaults to 5222
usetls=yes ; Use tls or not
usesasl=yes ; Use sasl or not
buddy=mlaarons@gmail.com ; Manual addition of buddy to list.
; For distributed events, these buddies are
; automatically added in the whitelist as
; ‘owners’ of the node(s).
;distribute_events=yes ; Whether or not to distribute events using
; this connection. Default is ‘no’.
status=available ; One of: chat, available, away, xaway, or dnd
statusmessage=“In da house!” ; Have custom status message for Asterisk
timeout=5 ; Timeout (in seconds) on the message stack, defaults to 5.
; Messages stored longer than this value will be deleted by Asterisk.
; This option applies to incoming messages only, which are intended to
; be processed by the JABBER_RECEIVE dialplan function.
sendtodialplan=yes ; Send incoming messages into the dialplan. Off by default.
context=incoming-motif ; Dialplan context to send incoming messages to. If not set,
; “default” will be used.
motif.conf
; Default template for endpoints, to be included in their definition
default
disallow=all
allow=ulaw
allow=h264
context=incoming-motif ; Default context that incoming sessions will land in
;maxicecandidates = 10 ; Maximum number of ICE candidates we will offer
;maxpayloads = 30 ; Maximum number of payloads we will offer
; Sample configuration entry for Jingle
;jingle-endpoint
;transport=ice-udp ; Change the default protocol of outgoing sessions to Jingle ICE-UDP
;allow=g722 ; Add G.722 as an allowed format since the other side may support it
;connection=local-jabber-account ; Connection to accept traffic on and send traffic out
;accountcode=jingle ; Account code for CDR purposes
;
; Sample configuration entry for Google Talk
google
connection=google
; Sample configuration entry for Google Voice
;gvoice
;transport=google-v1 ; Google Voice uses the original Google Voice protocol
;;;connection=gvoice-account
rtp.conf
;
; RTP Configuration
;
[general]
;
; RTP start and RTP end configure start and end addresses
;
; Defaults are rtpstart=5000 and rtpend=31000
;
rtpstart=10000
rtpend=20000
;
; Whether to enable or disable UDP checksums on RTP traffic
;
;rtpchecksums=no
;
; The amount of time a DTMF digit with no ‘end’ marker should be
; allowed to continue (in ‘samples’, 1/8000 of a second)
;
;dtmftimeout=3000
; rtcpinterval = 5000 ; Milliseconds between rtcp reports
;(min 500, max 60000, default 5000)
;
; Enable strict RTP protection. This will drop RTP packets that
; do not come from the source of the RTP stream. This option is
; enabled by default.
; strictrtp=yes
;
; Number of packets containing consecutive sequence values needed
; to change the RTP source socket address. This option only comes
; into play while using strictrtp=yes. Consider changing this value
; if rtp packets are dropped from one or both ends after a call is
; connected. This option is set to 4 by default.
; probation=8
;
; Whether to enable or disable ICE support. This option is disabled by default.
icesupport=yes
;
; Hostname or address for the STUN server used when determining the external
; IP address and port an RTP session can be reached at. The port number is
; optional. If omitted the default value of 3478 will be used. This option is
; disabled by default.
;
; e.g. stundaddr:3478=mystun.server.com
;
; stunaddr=
;
; Hostname or address for the TURN server to be used as a relay. The port
; number is optional. If omitted the default value of 3478 will be used.
; This option is disabled by default.
;
; e.g. turnaddr:34780=myturn.server.com
;
; turnaddr=
;
; Username used to authenticate with TURN relay server.
; turnusername=
;
; Password used to authenticate with TURN relay server.
; turnpassword=