Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
"Moda" tinerilor care se ...

E.on energie aplicație intre...

Masina de tuns... buruieni

Recomandare drona
 Exista un soft care sa reia autom...

Identificare plante

Cum declari o variabila care nu s...

Schimbare certificat de inmatricu...
 Poligon auto București

nelamurire legata de pret la mode...

Hotel cu restaurant si Demipensiu...

Croaziera in Mediterana de Vest 1...
 Copilot are pica pe Vladimir Putin

MicroSoft Edge: Cum pun Google in...

Dashcam

Mini server - VMware
 

Asterisk

- - - - -
  • Please log in to reply
270 replies to this topic

#91
condaru321

condaru321

    Member

  • Grup: Members
  • Posts: 620
  • Înscris: 24.05.2006
Salutare,

Maine trebuie sa ma apuc sa instalez Asterisk.As vrea sa fac o combinatie Asterisk , un echipament VOIP standalone,un softphone si un IVR.Am o intrebare pentru cei cu experienta:
Se poate face o astfel de combinatie?
Ce IVR imi recomandati?
Aveti ceva tutoriale?

#92
Ignition

Ignition

    Active Member

  • Grup: Members
  • Posts: 1,971
  • Înscris: 03.10.2005
Asterisk poate fii configurat si ca IVR, nu ai nevoie de un soft suplimentar pentru asta.
Poti conecta abele echipamente software/hardware la Asterisk.

#93
Ignition

Ignition

    Active Member

  • Grup: Members
  • Posts: 1,971
  • Înscris: 03.10.2005
Pentru cei interesati de terminare gratuita de apeluri in diverse retele internationale:

In afara de ENUM mai exista pentru toll free numbers:
http://www.sipnack.com/index.php

A aparut client SIP (open source & gratuit & legal) pentru Android:
http://sipdroid.org/

De asemenea am gasit o modalitate de a adauga suport MWI pentru protocol HTTP... pur si simplu un script in bash :)

Edited by Ignition, 04 May 2009 - 14:37.


#94
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Salut.
Am cateva intrebari in legatura cu asterisk-ul:

1. Pot fi monitorizate apelurile in curs si mai ales intrerupte daca se doreste ? Daca da, cum ? ca eu nu am gasit nimic despre pe net.
2. Pot fi executate comenzi ale interfetei asterisk , cum ar fi show dialplan sau sip reload din linia de comanda linux sau dintr-un bash script ?

Multumesc anticipat celor interesati de postul meu.

Edited by Vlad_int1, 14 May 2009 - 17:39.


#95
dassaev

dassaev

    Active Member

  • Grup: Members
  • Posts: 1,442
  • Înscris: 06.09.2005
1. Nu inteleg cum vrei sa monitorizezi apelurile intrerupte. Pentru apelurile in curs poti folosi "asterisk -vvvvvrx 'show channels verbose'"
2. Da poti sa executi orice comanda

#96
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Intrebarea era: pot fi monitorizate apelurile in curs si pot fi intrerupte aceste apeluri daca se doreste ?

Cu privire la a doua intrebare, ai spus ca da merge executata orice momanda. De exemplu daca asterisk-ul este pornit si deschit un nou terminal pot sa execut comanda pe care ai dat-o exemplu mai sus , chiar daca mie imi apare promptul de root nu ~CLI> ?

Multumesc pentru raspunsuri.

Edited by Vlad_int1, 15 May 2009 - 12:03.


#97
dassaev

dassaev

    Active Member

  • Grup: Members
  • Posts: 1,442
  • Înscris: 06.09.2005
Da poti sa intrerupi un apel in curs cu comanda soft hangup "channel" sau din consola ca root folosesti asterisk -rx 'comanda'.

Aici ai toate comenzile pentru asterisk:

http://www.voip-info...ew/Asterisk CLI

Edit:

Pentru a monitoriza apelurile din consola creaza un fisier cu joe sau mcedit (sau cu ce lucrezi tu) si scrie in el: watch "asterisk -vvvvvrx 'show channels verbose'"
Il salvezi, il faci executabil (chmod +x fisiser) si il executi.

Edited by dassaev, 15 May 2009 - 12:14.


#98
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Mi-ai raspuns la tot ce vroiam sa stiu. Monitorizarea si tot ce mai am nevoie o la le fac in php ... si cu watch aveam de gand sa rulez scripturile php pentru ca merge mai bine decat meta refresh sau header refresh.

Multumesc mult inca odata.

#99
dassaev

dassaev

    Active Member

  • Grup: Members
  • Posts: 1,442
  • Înscris: 06.09.2005
Cu placere.

Daca vrei un control foarte bun al apelurilor si monitorizare de ce nu folosesti un PBX (de ex trixbox CE) la care instalezi hud server si poti sa faci ce vrei cu apelurile. Uite aici cum arata si detalii :
http://blog.tmcnet.c...risk-ip-pbx.asp

Edited by dassaev, 15 May 2009 - 13:03.


#100
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Nu am nevoie de asa ceva. Monitorizarea ma interesa mai mult informativ. Ceea ce urmaream defapt era taxarea (postpaid/prepaid) si asta vreau sa o fac de pe un server facut de mine, asa macar daca apare vreo problema sa am cat mai mult control.
PS: stiu ca exista sisteme de billing open source :) ... dar prefer asa.

Edited by Vlad_int1, 15 May 2009 - 13:22.


#101
dassaev

dassaev

    Active Member

  • Grup: Members
  • Posts: 1,442
  • Înscris: 06.09.2005
Poi si cum te-ai gandit sa faci taxare prepaid de ex fara sa ai un sistem de billing? Poti sa-mi dai cateva detalii? In privat

#102
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Am incercat azi cateva comenzi de monitorizare si hangup ... si din pacate nu merg asa cum ma asteptam.
In primul rand show channels nu merge; zice command not found. Merge in schimb sip show channels care imi returneaza urmatoarele linii:

localhost*CLI> sip show channels
Peer                     User/ANR       Call ID                       Format         Hold     Last Message  
80.86.107.116     1001407456  1b2ce6376d80b57  0x4 (ulaw)       No       Tx: ACK                  
193.226.119.22   1000              021FCFE9-FD85-F  0x2 (gsm)        No       Tx: ACK                  
2 active SIP dialogs

Hangup merge doar soft hangup <nume canal> ... dar numele canalului il afiseaza doar cand initiaza apelul:

  == Using SIP RTP CoS mark 5
    -- Executing [40745638340@phones:1] NoOp("SIP/1000-09f16e08", "") in new stack
    -- Executing [40745638340@phones:2] Dial("SIP/1000-09f16e08", "SIP/80.86.107.116/100140745638340") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 80.86.107.116/100140745638340
    -- SIP/80.86.107.116-09f1c568 is ringing
    -- Got SIP response 486 "Busy Here" back from 80.86.107.116
    -- SIP/80.86.107.116-09f1c568 is busy
  == Everyone is busy/congested at this time (1:1/0/0)
    -- Auto fallthrough, channel 'SIP/1000-09f16e08' status is 'BUSY'


Daca execut comanda sip show channels ulterior nu mai am de unde sa stiu ce canal pot sa inchid.
De asemenea mi-ar fi de folos daca mi-ar arata si numarul format de sip user, sau {$EXTEN} ... pentru ca providerul imi cere sa trimit apelurile cu prefix (adica 1001) asa cum majoritatea providerolor care ofera terminatie cer prefix . In baza de date cu cdr-uri exista un camp "dst" in care se salveaza destinatia formata corect. Exista vreo comanda care imi afiseaza si aici destinatia "curata" fara prefixul providerului?

Edited by Vlad_int1, 16 May 2009 - 14:29.


#103
Ignition

Ignition

    Active Member

  • Grup: Members
  • Posts: 1,971
  • Înscris: 03.10.2005
Daca vrei un sistem post-paid nu ai nevoie de nici un hang-up, pur si simplu setezi Asterisk sa-si inregistreze CDR in MySQL (sau alta baza de date) unde poti face calculele.

Pentru sistem pre-paid, poti exporta din dialplan variabile precum ${EXTEN}, numele canalului, precum si o gramada de altele... astea le importi in aplicatia unde faci contorizarea/taxarea, mai departe le exporti tot ca variabile catre Asterisk prin CLI> pentru a intrerupe convorbirea, sau remainder ca mai are numai 10 secunde de convorbire, e.t.c.

Edited by Ignition, 16 May 2009 - 14:37.


#104
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Postpaid am facut deja.
Acum ma chinui sa vad cum pot sa identific un canal  ca apoi sa-l pot inchide si cum pot afisa destinatia formata. Daca trec peste hopu asta dupa aia cred ca ii dau de cap.
Poti sa-mi spui cum pot sa export variabilele respective; m-ar interesa in mod special numele canalului si {$EXTEN}

Momentan asa cum am scris si mai sus:
sip show channels imi arata:
localhost*CLI> sip show channels
Peer             User/ANR    Call ID          Format           Hold     Last Message  
80.86.107.116    1001407456  08391a22472e5bc  0x4 (ulaw)       No       Tx: ACK                  
193.226.119.22   1000        77FFB268-68CD-F  0x2 (gsm)        No       Tx: ACK                  
80.86.107.116    1001402131  615f374d0bf8717  0x4 (ulaw)       No       Tx: ACK                  
193.226.119.23   1001        D7C6D586-6E32-B  0x4 (ulaw)       No       Tx: ACK  

sip show channel imi arata asta:

localhost*CLI> sip show channel 615f3
localhost*CLI>
  * SIP Call
  Curr. trans. direction:  Outgoing
  Call-ID:                [email protected]
  Owner channel ID:       SIP/80.86.107.116-09f197f8
  Our Codec Capability:   524302
  Non-Codec Capability (DTMF):   1
  Their Codec Capability:   12
  Joint Codec Capability:   12
  Format:                 0x4 (ulaw)
  T.38 support            No
  Video support           No
  MaxCallBR:              384 kbps
  Theoretical Address:    80.86.107.116:5060
  Received Address:       80.86.107.116:5060
  SIP Transfer mode:      open
  NAT Support:            RFC3581
  Audio IP:               193.226.119.23 (Outside bridge)
  Our Tag:                as5851a6de
  Their Tag:              ff7a7300ffff0e10ff00000bffffff25
  SIP User agent:        
  Username:               100140213175455
  Peername:               100140213175455
  Original uri:           sip:[email protected]
  Need Destroy:           No
  Last Message:           Tx: ACK
  Promiscuous Redir:      No
  Route:                  sip:[email protected];user=phone
  DTMF Mode:              rfc2833
  SIP Options:            (none)
  Session-Timer:          Inactive


Si nu pot sa folosesc nimic pentru comanda de Hangup();

Edited by Vlad_int1, 16 May 2009 - 16:59.


#105
Ignition

Ignition

    Active Member

  • Grup: Members
  • Posts: 1,971
  • Înscris: 03.10.2005
Am raspuns la intrebarea ta in postul anterior: dialplan -> variabila -> aplicatia ta -> variabila -> CLI>

#106
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Astazi am inteles ce ai vrut sa spui, dupa ce am mai citit si eu cate ceva. Am gasit ceva despre mysql realtime ... si o sa incerc sa salvez din dialplan niste variabile care sa obtina informatii direct din baza de date, cum ar fi prefixul destinatiei, parola userului pe langa numele canalului si exten.
Sper sa si reusesc.

#107
Vlad_int1

Vlad_int1

    Active Member

  • Grup: Members
  • Posts: 1,847
  • Înscris: 26.04.2007
Salutare din nou.
Azi am alta problema legata de asterisk ... sper sa ma ajutati sa-i dau de cap.

M-am gandit ca cea mai buna varianta sa obtin ceea ce vreau ar fi sa folosesc AGI, mai exact phpagi. Drept urmare am facut un script php pe care l-am salvat cu extensia .agi in /var/lib/asterisk/agi-bin/ , l-am facut executabil si am facut o extesie in dialplan care sa-l apeleze. Problema este ca scriptul nu face nimic. L-am rulat si din linie de comanda si nu da erori. Am incercat sa pun prima linie si
#!/usr/bin/php
<?php
si
#!/usr/bin/php-cgi -q si #!/usr/bin/php -q si #!/usr/bin/php -v ... si tot nimic.

De fiecare data mi se afiseaza acelasi lucru, dar scriptul nu face nimic. Tot ce as vrea initial ar fi sa realizeze o conexiune la o baza de date si sa vad ca poate sa execute un query.

In clientul asterisk-ului mi se afiseaza de fiecare data acelasi lucru adica:

localhost*CLI>
  == Using SIP RTP CoS mark 5
    -- Executing [40745638340@phones:1] NoOp("SIP/1000-09911698", "") in new stack
    -- Executing [40745638340@phones:2] AGI("SIP/1000-09911698", "/var/lib/asterisk/agi-bin/before.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/before.agi
/var/lib/asterisk/agi-bin/before.agi: Got agi_request=/var/lib/asterisk/agi-bin/before.agi
/var/lib/asterisk/agi-bin/before.agi: Got agi_channel=SIP/1000-09911698
/var/lib/asterisk/agi-bin/before.agi: Got agi_language=en
/var/lib/asterisk/agi-bin/before.agi: Got agi_type=SIP
/var/lib/asterisk/agi-bin/before.agi: Got agi_uniqueid=1242743755.44
/var/lib/asterisk/agi-bin/before.agi: Got agi_version=1.6.0.3
/var/lib/asterisk/agi-bin/before.agi: Got agi_callerid=1000
/var/lib/asterisk/agi-bin/before.agi: Got agi_calleridname=vlad
/var/lib/asterisk/agi-bin/before.agi: Got agi_callingpres=0
/var/lib/asterisk/agi-bin/before.agi: Got agi_callingani2=0
/var/lib/asterisk/agi-bin/before.agi: Got agi_callington=0
/var/lib/asterisk/agi-bin/before.agi: Got agi_callingtns=0
/var/lib/asterisk/agi-bin/before.agi: Got agi_dnid=40745638340
/var/lib/asterisk/agi-bin/before.agi: Got agi_rdnis=unknown
/var/lib/asterisk/agi-bin/before.agi: Got agi_context=phones
/var/lib/asterisk/agi-bin/before.agi: Got agi_extension=40745638340
/var/lib/asterisk/agi-bin/before.agi: Got agi_priority=2
/var/lib/asterisk/agi-bin/before.agi: Got agi_enhanced=0.0
/var/lib/asterisk/agi-bin/before.agi: Got agi_accountcode=
/var/lib/asterisk/agi-bin/before.agi: Got agi_threadid=-1215841392
    -- <SIP/1000-09911698>AGI Script /var/lib/asterisk/agi-bin/before.agi completed, returning 0
    -- Executing [40745638340@phones:3] Dial("SIP/1000-09911698", "SIP/80.86.107.116/100140745638340") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 80.86.107.116/100140745638340
    -- SIP/80.86.107.116-0990cca8 is ringing
    -- SIP/80.86.107.116-0990cca8 answered SIP/1000-09911698
    -- Native bridging SIP/1000-09911698 and SIP/80.86.107.116-0990cca8
localhost*CLI>


Problema e ca totul pare bine si totusi nimic.
Va multumesc anticipat pentru pareri sugestii.

_______________________________________________________
PS: si scriptul:

#!/usr/bin/php
<?php
set_time_limit(60);
ob_implicit_flush(false);
error_reporting(0);
if (!defined('STDIN'))
{
   define('STDIN', fopen('php://stdin', 'r'));
}
if (!defined('STDOUT'))
{
   define('STDOUT', fopen('php://stdout', 'w'));
}
if (!defined('STDERR'))
{
   define('STDERR', fopen('php://stderr', 'w'));
}



$agivars = array();
while (!feof(STDIN)) {
$agivar = trim(fgets(STDIN));
if ($agivar === '') {
break;
}
else {
$agivar = explode(':', $agivar);
$agivars[$agivar[0]] = trim($agivar[1]);
}
}

extract($agivars);


$AdresaBazaDate = "localhost";

$UtilizatorBazaDate = "user";

$ParolaBazaDate = "parola";

$NumeBazaDate = "db";

$conexiune = mysql_connect($AdresaBazaDate,$UtilizatorBazaDate,$ParolaBazaDate);
if(!$conexiune) {
verbose("nu s-a conectat la baza de date");
exit(1);
}
else verbose("conexiune OK!");

$db=mysql_select_db($NumeBazaDate, $conexiune);
if(!$db) {
verbose("nu a selectat baza de date");
exit(1);
}

mysql_query("INSERT INTO db.agivars(var) VALUES('empty') ");

foreach($agivars as $k) {
if ($k<>'') mysql_query("INSERT INTO util.agivars(var) VALUES('$k') ");
else mysql_query("INSERT INTO util.agivars(var) VALUES('empty') ");
}
mysql_close();
?>

Edited by Vlad_int1, 19 May 2009 - 16:51.


#108
Ignition

Ignition

    Active Member

  • Grup: Members
  • Posts: 1,971
  • Înscris: 03.10.2005
Sugestii: Suport tehnic platit :)

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate