Frage

I have Asterisk 11.7.0 configured on CentOS 6.4 x64 with following sip.conf configuration:

[general]
register =>mynumber:mypass@xxx.xxx.xxx.xxx
registertimeout=20
context=incoming
allowoverlap=no
bindport=5060
bindaddr=192.168.0.3
srvlookup=no
subscribecontext=from-sip

; The SIP provider
[VoIPProvider]
canreinvite=no
username=mynumber
fromuser=mynumber
secret=mypass
context=incoming
type=friend
fromdomain=xxx.xxx.xxx.xxx
;host=xxx.xxx.xxx.xxx
dtmfmode=rfc2833
disallow=all
allow=alaw
allow=ulaw
nat=yes
insecure=very

; ext 100
[100]
type=friend
host=dynamic
secret=MyPass123
context=internal
mailbox=100@default
callgroup=1
pickupgroup=1
dtmfmode=rfc2833
canreinvite=no

; ext 200
[200]
type=friend
host=dynamic
secret=MyPass123
context=internal
callgroup=1
pickupgroup=1
dtmfmode=rfc2833
canreinvite=no

And following extensions.conf:

[incoming]
; Ring on extension 100, 200 and the mobile phone.
exten => s,1,Answer()
exten => s,n,Dial(SIP/100&SIP/200&SIP/VoIPProvider/*320423456789,150,r,t,)

; Pass unanswered call to a mobile phone
exten => s,n,Dial(SIP/VoIPProvider/*320423456789,150,r)

; Still not answered? Pass unanswered calls to voicemail
exten => s,n,Voicemail(100,u)
exten => s,n,Hangup

[outgoing]
exten => _XXXXXXXXXXXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _XXXXXXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _XXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN})

[internal]
exten => _XXX,1,Dial(SIP/${EXTEN})

; Calls to ext 100
exten => 100,1,Dial(SIP/100,20)
exten => 100,n,VoiceMail(100,u)
exten => 100,n,Hangup

; Calls to ext 200
exten => 200,1,Dial(SIP/100,20)
exten => 200,n,Hangup

When I try to dial my mobile number from an IP phone I see following output in Asterisk CLI:

-- Executing [XXXXXXXXX@outgoing:1] Dial("SIP/XXX-00000002", "SIP/VoIPProvider/XXXXXXXXX") in new stack

WARNING[19884][C-00000003]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)

== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'SIP/XXX-00000002' status is 'CHANUNAVAIL'

Now, I know what cause 20 - Subscriber absent means, but I know for sure that my mobile number exists and is reachable, because when I dial the IP Phone's number from my mobile (incoming call) it works.

Any suggestions?

War es hilfreich?

Lösung

I can't see how the VoIPProvider entry can be used for an outgoing call since it has no "host" field and therefore Asterisk will not know where the SIP call should be sent.

Try creating a new entry in your sip.conf called "VoIPProvider_Outgoing" or similar and uncomment the host field. Then in your extensions.conf replace "VoIPProvider" with "VoIPProvider_Outgoing".

Andere Tipps

Please add the your outgoing context in your dialling user context.

like under internal:

include = outgoing or include=outgoing

it means same in Asterisk

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top