asterisk - hiba a kimenő híváskor

Fórumok

Sziasztok, kérnék egy kis segítséget.
Most ismerkedem az asterisk rendszerrel, de megakadtam, nem sikerül kimenő hívásokat indítanom, mert hibaüzenetet kapok. Működik a mellékek hívása, működik a bejövő, de ha külső számot akarok hívni a következő hibaüzenetet kapom: NOTICE[18304]: chan_sip.c:20843 handle_response_invite: Failed to authenticate on INVITE to '"user_1" ;tag=as11496097'

A teljes üzenet:
== Using SIP RTP CoS mark 5
-- Called SIP/ephone/06701112233
[Mar 27 16:28:20] NOTICE[18304]: chan_sip.c:20843 handle_response_invite: Failed to authenticate on INVITE to '"user_1" ;tag=as11496097'
-- SIP/ephone-00000143 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Auto fallthrough, channel 'SIP/user_1-00000142' status is 'CONGESTION'

beállítások:
sip.conf - van 1 sablonom (phone), van 2 mellékem (user_1, user_2), és egy szolgáltatóm (ephone)
[general]
context=default ; Default context for incoming calls

register => azonositoez:jelszoez@sip.ephone.hu/06211234567
insecure=invite
udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all)
tcpenable=no ; Enable server for incoming TCP connections (default is no)
tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces)
srvlookup=yes ; Enable DNS SRV lookups on outbound calls

[phone](!)
type=friend
host=dynamic
context=users
nat=yes
qualify=yes
sendrpid=yes
canreinvite=no
fromuser=06211234567
fromdomain=sip.ephone.hu

[user_1](phone)
username=user_1
secret=user_1_jelszo
callerid=user_1

[user_2](phone)
username=user_2
secret=user_2_jelszo
callerid=user_2

; bejövő ephone
[ephone]
type=peer
username=06211234567
secret=jelszoez
host=sip.ephone.hu
canreinvite=no
qualify=yes
nat=yes
context=bejovo
disallow=all
allow=ulaw
allow=alaw
sendrpid=yes
trustrpid=yes
callerid=06211234567
fromuser=06211234567
fromdomain=sip.ephone.hu

extensions.conf - 2 kontextus (users, bejovo) mindenki tud mindent hívni csak a kimenő hívással van a gond, olyan mintha nem lenne engedélyem
[users]
exten => 101,1,Dial(SIP/user_2,20)
exten => 102,1,Dial(SIP/user_1,20)

; itt a kimenő
exten => _X.,1,Dial(SIP/ephone/${EXTEN})

[bejovo]
exten => 06211234567,1,Dial(SIP/user_1&SIP/user_2)

Kérlek segítsetek, már sok mindennel próbálkoztam, de itt megakadtam!
Mit írjak át? kifelejtettem valamit?

Hozzászólások

csinálj első körben egy ilyet, hogy lásd milyen változókkal akar kimenni:
exten => _X.,1,DumpChan()
exten => _X.,n,Dial(SIP/ephone/${EXTEN})

valamint az asterisk -r konzolban: "sip set debug peer ephone" -al nézheted hogy mit mond az INVITE-ben (pl látom nat=yes -el vagy így gondolom nat mögött, lehet hogy szimplán nem kapod meg az unauthorized üzenetet, s ezért nem küldi ki az auth digest-et...)

megcsináltam amiket mondtál,
miután kiadtam a fenti parancsot:

<--- SIP read from UDP:82.150.61.51:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.250:5060;received=81.82.51.93;branch=z9hG4bK34aa90d4;rport=1111
From: ;tag=as29e54fdc
To: ;tag=0753effa3d31d28003ba5e9b3385345e.585b
Call-ID: 66d1b57e4c561c642cc3dd6c3c732fb9@127.0.0.1
CSeq: 112 REGISTER
WWW-Authenticate: Digest realm="sip.ephone.hu", nonce="4f72e7da0000338dfe6a62168e46cde7d531e390414f3727", stale=true
Server: MESE driven Ephone SIP system
Content-Length: 0

<------------->
--- (9 headers 0 lines) ---
Responding to challenge, registration to domain/host name sip.ephone.hu
> doing dnsmgr_lookup for 'sip.ephone.hu'
REGISTER 11 headers, 0 lines
Reliably Transmitting (NAT) to 82.150.61.51:5060:
REGISTER sip:sip.ephone.hu SIP/2.0
Via: SIP/2.0/UDP 192.168.1.250:5060;branch=z9hG4bK2e700705;rport
Max-Forwards: 70
From: ;tag=as1878c2b6
To:
Call-ID: 66d1b57e4c561c642cc3dd6c3c732fb9@127.0.0.1
CSeq: 113 REGISTER
User-Agent: Asterisk PBX 10.2.0
Authorization: Digest username="azonositoez", realm="sip.ephone.hu", algorithm=MD5, uri="sip:sip.ephone.hu", nonce="4f72e7da0000338dfe6a62168e46cde7d531e390414f3727", response="7366eae23753d26689af57bf3b0b641d"
Expires: 120
Contact:
Content-Length: 0

<------------>
Scheduling destruction of SIP dialog '8c369af3-7bdf13d3-87ae9@82.150.61.51' in 32000 ms (Method: OPTIONS)
Really destroying SIP dialog '8c369af3-c62f13d3-a5ae9@82.150.61.51' Method: OPTIONS

kimenő hívásnál pedig ezek jöttek ki:

Dumping Info For Channel: SIP/user_2-00000165:
================================================================================
Info:
Name= SIP/user_2-00000165
Type= SIP
UniqueID= 1332929192.357
LinkedID= 1332929192.357
CallerIDNum= user_2
CallerIDName= user_2
ConnectedLineIDNum= (N/A)
ConnectedLineIDName=(N/A)
DNIDDigits= 06701234567
RDNIS= (N/A)
Parkinglot= default
Language= en
State= Ring (4)
Rings= 0
NativeFormat= (ulaw)
WriteFormat= ulaw
ReadFormat= ulaw
RawWriteFormat= ulaw
RawReadFormat= ulaw
WriteTranscode= No
ReadTranscode= No
1stFileDescriptor= 27
Framesin= 0
Framesout= 0
TimetoHangup= 0
ElapsedTime= 0h0m1s
DirectBridge=
IndirectBridge=
Context= users
Extension= 06701234567
Priority= 1
CallGroup=
PickupGroup=
Application= DumpChan
Data= (Empty)
Blocking_in= (Not Blocking)

Variables:
SIPCALLID=e3aacd00-decca96b@192.168.1.117
SIPDOMAIN=192.168.1.250
SIPURI=sip:user_2@192.168.1.117:5060

Te látsz ebben valamit?

Azt látom, hogy a szolgáltató felé ki sem ment az INVITE (csak REGISTER-t látok, ami ügye a bejövő híváshoz szükséges is, de ez most nem érdekes számunkra)...
Feltételezem, hogy miután kiadtad a "sip set debug peer ephone" parancsot nem indítottál kimenő hívást, ugyanis az eredeti kérdésednél látszik, hogy a SIP/ephone/mobil -ra megy INVITE de eldobja, s pont ennek az okára szeretnénk rájönni ezért kellett a debugot bekapcsolni.
Érdemes csinálni bejövő hívást is a sip set debug mellett, hogy lásd a szolgáltató pontosan milyen To: -ra küldi (lehet, hogy nem is 06 hanem mondjuk +36 vagy bármi más). Illetve lehet kellhet az is -hogy biztos legyél abban amit küld: a register sornál a "/06211234567" töröld le, hogy pontosan lásd mi jön be tőlük (később rakd vissza).
ha látod hogy milyen számformátummal küldik, valószínű úgy is várják, s módosítsd arra az username és/vagy fromuser és/vagy callerid -t.

Szerk: amúgy a dumpchan ahhoz jó, hogy lásd milyen csatornaváltozó érkezik a Dial parancshoz... s pl ha a fromuser-t elhagyod a peer-nél, akkor lehetőséged van Set(CALLERID(number)=06211234567) beállítani a hívószámot (persze ha a szolgáltató is támogatja mint pl mi...)

Mi is ennél a szolgáltatónál vagyunk.

Ezt a konfigot hasnáljuk a csatlakozáshoz:

PEER Details:
sendrptd=yes
secret=pass
qualify=yes
nat=yes
insecure=invite
host=sip.ephone.hu
fromuser=user
fromdomain=82.150.61.51
disallow=all
allow=ulaw&alaw&gsm

USER Details:
username=user
type=user
secret=pass
qualify=yes
nat=yes
host=sip.ephone.hu
disallow=all
context=from-trunk
allow=ulaw&alaw&gsm

Register String:
user:pass@sip.ephone.hu

De ha nincs az egyenleged feltöltve, akkor nem is fogsz tudni ki telefonálni, viszont a bejövő menni fog.

Köszi fiúk (kis segítséggel) megoldódott a probléma.
Ha valakit érdekel annyi volt a hiba, hogy az [ephone] részben a username-hez telszámot írtam, és azonosítót (azonositoez) kellett volna írnom (gondolom a szolgáltatóm megkötése miatt volt).