Archive for June 2007

Il 2 giugno, Steve Murphy, ha iniziato a fissare su(1.4) alcuni “bug” presenti gia dalla versione 1.2 ed abbastanza noiosi riguardo ai transfer, ecco gli esempio deli fix…

Teminology: HF=hookflash; HU= hang up; -> = dials A= Answers

Ref: my branch: team/murf/CDRfix5 (derived from trunk)

_____________________________________________________________________________
Scenario 1: Simple. 152 calls 151. They talk. They hang up.
=============================================================================

Example output: (1 CDR)

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/51-1″,”Dial”,”Zap/51|30|
TtWw”,”2007-06-01 20:41:56″,”2007-06-01 20:42:08″,”2007-06-01
20:42:13″,”17″,”5″,”ANSWERED”,”DOCUMENTATION”,”",”1180752116.0″,”"

No big changes here.

_____________________________________________________________________________
Scenario 2: blind xfer via # key 152->151; 151->#150; 150 A
=============================================================================

Example output: (2 CDR’s)

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/51-1″,”Dial”,”Zap/51|30|
TtWw”,”2007-06-01 20:43:02″,”2007-06-01 20:43:10″,”2007-06-01
20:43:27″,”25″,”17″,”ANSWERED”,”DOCUMENTATION”,”",”1180752182.2″,”"

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/50-1″,”Dial”,”Zap/50|30|
TtWw”,”2007-06-01 20:43:27″,”2007-06-01 20:43:31″,”2007-06-01
20:43:38″,”11″,”7″,”ANSWERED”,”DOCUMENTATION”,”",”1180752182.2″,”"

Notes: the first CDR is emitted when the “#” button is hit.

______________________________________________________________________________
Scenario 3: blind xfer via “transfer.blind” buttons on SIP phone
(polycom430)
152->201; 201 hits transfer, then blind buttons, 200; 200 A
200 HU
=============================================================================

Example output: (2 CDRs)

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”SIP/polycom430-08267d80″,”Dial”,”SIP/polycom430|30|TtWw”,”2007-06-01 22:29:07″,”2007-06-01 22:29:24″,”2007-06-01 22:29:41″,”34″,”17″,”ANSWERED”,”DOCUMENTATION”,”",”1180758547.47″,”"

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”SIP/snom360-08271a38″,”Dial”,”SIP/snom360|30|TtWw”,”2007-06-01 22:29:41″,”2007-06-01 22:29:48″,”2007-06-01 22:29:53″,”12″,”5″,”ANSWERED”,”DOCUMENTATION”,”",”1180758547.47″,”"

Notes: the first CDR is emitted when the “send” soft button is hit.
______________________________________________________________________________
Scenario 4: blind xfer via Zap hookflash (152->151; 151 HF; 151->150;
151 HU
while ringing.)
=============================================================================

Example output: (3 CDRs)

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/51-1″,”Dial”,”Zap/51|30|
TtWw”,”2007-06-01 20:53:24″,”2007-06-01 20:53:33″,”2007-06-01
20:53:48″,”24″,”15″,”ANSWERED”,”DOCUMENTATION”,”",”1180752804.22″,”"

“”fxs.51″
<151>“,”151″,”s”,”extension”,”Zap/51-1“,”Zap/51-1″,”Dial”,”Zap/51|30|TtWw”,”2007-06-01 20:53:24″,”2007-06-01 20:53:33″,”2007-06-01 20:53:55″,”31″,”22″,”ANSWERED”,”DOCUMENTATION”,”",”1180752804.22″,”"

“”fxs.52″
<152>“,”152″,”150″,”extension”,”Zap/52-1″,”Zap/50-1″,”Dial”,”Zap/50|30|
TtWw”,”2007-06-01 20:53:52″,”2007-06-01 20:53:59″,”2007-06-01
20:54:08″,”16″,”9″,”ANSWERED”,”DOCUMENTATION”,”",”1180752828.24″,”"

Notes:
Ugh. Changes for scen.5 loused up CDR#2 in this scenario… It should be
Zap/52, not a zombied 51… I’ll check into it.

The first CDR is generated at the first HF. The second, when 151 hangs
up after dialing. The last, when 152 or 150 hang up. If 151 doesn’t hang
up fast enough,
the 2nd CDR will record the time spent talking with 151; the 2nd CDR is
messed up. I’ll see if I can start it when #1 ends… (before I worked
on Scen#5, Scen#4
generated only two CDRs! :))

___________________________________________________________________________
Scenario 5: Zap Attended xfer: (152->151; 151 HF; 151->150; 151 HF; 151
HU;
152/150 HU.)
=============================================================================

Example output: (4 CDR’s)

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/51-1″,”Dial”,”Zap/51|30|
TtWw”,”2007-06-01 19:17:24″,”2007-06-01 19:17:31″,”2007-06-01
19:17:37″,”13″,”6″,”ANSWERED”,”DOCUMENTATION”,”",”1180747044.0″,”"

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/51-1″,”MOH”,”",”2007-06-01
19:17:37″,”2007-06-01 19:17:37″,”2007-06-01
19:17:51″,”14″,”14″,”ANSWERED”,”DOCUMENTATION”,”",”1180747044.0″,”"

“”fxs.52 <152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/51-1″,
“3WAY”,”Zap/51-1″,”2007-06-01 19:17:51″,”2007-06-01
19:17:51″,”2007-06-01
19:18:04″,”40″,”33″,”ANSWERED”,”DOCUMENTATION”,”",”1180747044.0″,”"

“”fxs.52″
<152>“,”152″,”s”,”extension”,”Zap/52-1″,”Zap/50-1″,”Dial”,”Zap/50|30|
TtWw”,”2007-06-01 19:17:37″,”2007-06-01 19:17:43″,”2007-06-01
19:18:28″,”51″,”45″,”ANSWERED”,”DOCUMENTATION”,”",”1180747057.2″,”"

Notes: 1st CDR emitted on first HF; 2nd emitted on 2nd HF; 3rd emitted
when 151 hangs up; Last when 152 or 150 hang up.

2nd CDR has MOH for app; it actually documents when 152 was played MOH
during the xfer. The 3WAY time started with HF #2, ended when 151 hung
up. For the moment,
you can determine the 3rd party by finding the record with the same
clid, and a start time equal to the first CDR’s end time. Basically CDR
#1 + CDR #4 account for the entire time that 152 spent connected to
151/150. You can just drop “MOH” and “3WAY” records if this is not
interesting.

As from above, you can probably make out that I’d like to keep the
“source” caller the same thru the sequence. I also try to keep the
uniqueid the same thru the sequence, but that gets hard when dealing
with multiple bridges that don’t even share the same channel. I’d like
to put the 3rd channel in a 3WAY in the appdata field, but it’s hiding
somewhere in the zap driver.

Ecco una lista di softphone e sdk sip:

Softphone SIP:

1. SFLphone - Uno softphone multi protocollo SIP/IAX, a differenza di altri l’aspetto e’ skinnabile ed e’ cross platform.

2. Linphone - E’ un client sip in grado di gestire anche il video e l’instant messaging. E’ disponibile per Linux, OpenBSD e FreeBSD.

3. OpenWengo - Direi che orami e’ famoso.

5. Cockatoo - Solo per linux, e’ un estensione per Thunderbird che permette di chiamare i propri contatti via SIP.

6. Twinkle - Twinkle SIP client scritto in QT.

SIP Sdk:

1. Minisip - E’ un framework sip sviluppato durante una tesi di laurea in Svezia. Supporta voce, video e im. E’ cross platform e compila anche su IPAQ e presto Windows mobile.

2. sipXtapi - Altro SDK SIP cross platform, con supporto anche per WinCE.

3. Open Source SIP - Open Source SIP creato nel Marzo 2006 e sponsorizzato da Solegy sulla base di 6 anni di esperienze.

4. MjSip - E’ uno stack SIP in Java sviluppato dall’universita di Parma.

5. OpenSIPStack - La scopo principale della libreria OpenSIPStack e’ fornire agli sviluppatori un interfaccia SIP aderente all’ RFC 3261 prestando particolare attenzione a scalabilita e sabilita’.
La libreria fornisce sia interfacce a basso livello e che ad alto, rendendono adatto sia per lo sviluppo di SIP Proxy che di Softphone o IM.

6. The GNU oSIP Library - Altra librerie ormai conosciuta per lo sviluppo di applicazioni SIP.

7. The eXtended osip Library - Lo scopo principale di questa libreria e’ quello nacondere la complessita’ del protocollo SIP, e di agevolarne l’uso in ambienti multimedia. Se non erro e’ lo stack utilizzato da OpenWengo.

8. Twisted - Per gli amanti di Python, le librerie Twisted implementano anche SIP :)

9. PJSIP - Stack maturo dalle dimensioni ridotte, scritto in C per applicazioni embedded e non.

10. sofia-sip - E’ lo stack sviluppato nei centri nokia, licenziato in LGPL.

Tapioca logo
Tempo fa avevo il progetto Tapioca,

What is Tapioca?

The Tapioca project provides a set of convenience libraries to easily integrate VoIP and IM in your application, or even write new ones.

tra i protoclolli supportati vi sono SIP, Jabber, MSN e IRC

Tapioca provides convenience libraries for Glib, Qt and C#, for client-side application development.

(che oo con sto c# pero…, almeno non gli avessero dato estensione .exe agli “exeguibili”)

Il progetto tuttavia(c#) sembra molto interessante, l’architettura e’ ben pensata in stile K.I.S.S.
il tutto e’ basato su Telepathy che si appoggia poi a D-Bus, per l’interazione con i vari programmi.

Cosi ad esempio potremmo avere un programma che potra’ usufruire del protocollo sip, messo a disposizione da un altro programma attraverso il sistema tapioca-telepathy-dbus, questo molto in breve :P

Dateci un occhio, il tutto poi e’ ben documentato.

Stavo cercando informazioni per sapere di cosa hanno parlato AstriDevCon quando finalmente ho trovato una lista di todo per la prossima 1.6 di cui discuteranno.

Per quanto riguarda il fronte IAX2 gli argomenti sembrano essere stati supporto ipv6, review dell’RFC.

I topic piu generici comprendevano inoltre Multimedia inteso come Video/IM/Presence, Codecs e Wideband, Secutiry, TLS e SRTP.

Ed ancora internazionalizzazioni, supporto UTF 8 sia per le estensioni che per i caller id.

Ma soprattutto Clustering (redundancy e failover), un sistema di bridging tra più Asterisk ed una riscrittura completa del supporto per il realtime.

Come gia annunciato poco tempo fa da Olle in -dev vi sara’ puoi un milgioramento delle AMI con nuove eventi ed informazioni piu dettagliate, oltre che un supporto migliore per controllarne gli acessi.

Relativamente al core di Asterisk troviamo novita per quanto riguarda le API, una nuova gestione dei thread e della memoria (da test eseguiti sino ad ora pare vi sia un mglioramento piu che sensibile sul numero di chiamate concorrenti che si riescono a gestire a pari hardware).

Sembra poi si volglia riscrivere in toto app_voicemail, “modularizzandolo”, e che i messaggi possano essere salvati su file system piuttosto che su mysql o odbc per il quale saranno presenti nuove API.

Chissa’ poi cos’altro bolle in pentola, gia questo non e’ poco :)

Questo me l’ero proprio perso.

Google VoIP Phone

E voi? :)

L’annuncio e’ stato dato su -announce; Dal 1° Agosto 2007 verranno rilasciati solo security fix per Asterisk 1.2.

Asterisk 3d

Lo scorso autunno fu lo stesso per Asterisk 1.0, ed il prossimo autunno la 1.2 non sara’ piu supportata.

Questo significa che avete 1 anno di tempo per passare ad 1.4.