[Linuxtrent] Asterisk - extensions.conf variabili dinamiche

  • From: Nicola Ferrari <nicolafrr@xxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sat, 19 May 2012 22:53:48 +0200

Ciao a tutti.
Dopo la serata dell'altro giorno a Riva, ho iniziato a giochicchiare un poco con Asterisk a tempo perso...

Il mio scenario:
- Asterisk su una Debian 6.0.4 dedicata in VirtualBox
- 1 telefono SIP Snom300
- 1 SoftPhone Ekiga sul pc

Dunque sono riuscito a far sì che:
- Da qualunque delle due postazioni chiamo, la chiamata viene inoltrata all'esterno
- Se chiamo l'altro numero, squilla l'altro numero

I due interni sono 201 e 202

Questo è il mio extensions.conf

[from-internal]
; Contesto che gestisce le chiamate che vengono fatte dagli interni

; Chiamate dagli interni verso l'esterno
exten => _X./201,1,Dial(SIP/${EXTEN}@0464xxxxxx-out,30,T)
exten => _X.,n,Hangup

exten => _X./202,1,Dial(SIP/${EXTEN}@0464xxxxxx-out,30,T)
exten => _X.,n,Hangup

; Chiamate tra gli interni
exten => 201,1,Dial(SIP/201,30,Tt)
exten => 201,n,Hangup

exten => 202,1,Dial(SIP/202,30,Tt)
exten => 202,n,Hangup

Per funzionare funziona... Il fatto è che vorrei renderlo un po' più "dinamico"
Non si può avere istruzioni del tipo:

exten => qualunque numero che non comincia per 2 => passa fuori dal trunk
enten => qualunque numero di 3 cifre che comincia per 2 => è un interno

Ho smanettato un bel po' usando la variabile ${EXTEN} cioè una riga del tipo
exten => 2XX,1,Dial(SIP/{EXTEN},30,Tt)
exten => 2XX,n,Hangup

Ma non va... Se da 201 chiamo 202, in console ottengo un errore del tipo:
Using SIP RTP CoS mark 5
-- Executing [202@from-internal:1] Dial("SIP/201-00000000", "SIP/202@0464350676-out,30,T") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 202@0464350676-out
-- Got SIP response 503 "Service not available - No gateways" back from 83.211.227.21
    -- SIP/0464350676-out-00000001 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
-- Executing [202@from-internal:2] Hangup("SIP/201-00000000", "") in new stack == Spawn extension (from-internal, 202, 2) exited non-zero on 'SIP/201-00000000'


Sostanzialmente pare che lui tenti di uscire di nuovo dal trunk chiamando il 202 all'esterno
Ma perchè, se ho solo inserito la ext. dinamica?
(La risposta ovviamente è che l'ho inserita sbagliata :) , ma .... chi mi aiuta a trovare l'errore?)

Thanks...
Nick
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: