Raspberry Pi + Asterisk

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
rolex42
Inlägg: 519
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

Raspberry Pi + Asterisk

Inlägg av rolex42 »

Beställde min första R-pi igår.
Tänkte göra den till en Asterisk med telefoni.

Men risken är att det blir fler efter man läst sid 128 - manual.
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Raspberry Pi + Asterisk

Inlägg av Wedge »

Det beror lite på vad du tänkte låta Asterisk göra. Jag kör en Bubba2 som Asteriskserver, och det är inget prestandamonster. Vet inte hur den förhåller sig till hallonpajen, men man behöver inte köra audioströmmen genom Asteriskservern. Det räcker att låta den sköta signaleringen, så skickar de pratande enheterna audiodata direkt till varandra.
Och körs telefoniljudet genom servern (telefonsvarare, röstmenyer etc) så hanterar man ändå inte samples individuellt, det sker stötvis i datablock. A/D- eller D/A-omvandlingen ligger i telefonerna/telefoniadaptern.
Det skulle väl i så fall vara om du även körde en SIP-klient på hallonpajen... kan kanske bli en del jobb för den då... har inte testat nåt sånt själv, så det överlåter jag till andra att kommentera.
Användarvisningsbild
mrOh
EF Sponsor
Inlägg: 541
Blev medlem: 6 mars 2005, 13:54:31
Ort: Bromma

Re: Raspberry Pi + Asterisk

Inlägg av mrOh »

Ursäkta om jag kapar tråden men jag har länge undrat vad man gör med Asterisk. Jag har bara reflekterat över att det finns och kollat lite på freepbx utan att dra det längre pga att jag inte insett vad man ska med det till i hemmet. Vad har ni det till?

Edit: Stavning. :)
Senast redigerad av mrOh 8 januari 2013, 12:33:46, redigerad totalt 1 gång.
Nerre
Inlägg: 26747
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Raspberry Pi + Asterisk

Inlägg av Nerre »

Det är ju en telefonväxel, så de flesta använder det väl som det. Men kanske inte främst för att kunna ringa mellan anknytningar utan kanske snarare för att kunna t.ex. ha en SIP-klient i mobilen som använder hemnumret eller om man kör IP-telefoni och vill kunna ha flera telefoner hemma (då behöver man oftast ha nån form av växel eftersom många SIP-konton inte tillåter mer än en klient i taget).

Sen fungerar det ju som en avancerad telefonsvarare, man kan automatiskt blockera telefonsäljare (eller koppla dem till nån nonsens-telefonsvarare) och såna grejer.

Jag kör inte Asterisk själv, men har planer på att sätta upp. I dagsläget har vi en Siemens S675 IP med fyra handenheter, men det vore smidigt att kunna ha hemtelefonen i mobilen också och kanske en klient på landet på semestern. Pbxes.com är ett alternativ iofs, jag tittade på det förut men vad jag förstått går inte gratisvarianten att få på svenska (det inkluderar telefonsvararen) och det skulle nog inte min sambo gilla. Nu har vi ju dessutom fått fiber istället för vår kassa ADSL, så då är en Asterisk på den nya routern antagligen vettigare (där jag köpte en Asus RT-AC66U).


P.S. Och det heter Asterisk. Asterix är en seriefigur. :)
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Raspberry Pi + Asterisk

Inlägg av blueint »

Routermaskiner brukar väl köra special-OS på lite exotiska CPU:er och därmed göra det ganska omständigt att köra t.ex Asterisk på sådan?
Nerre
Inlägg: 26747
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Raspberry Pi + Asterisk

Inlägg av Nerre »

Idag så är det väldigt många routrar har har stöd för dd/openwrt och/eller kör nån form av Open Source operativ. Asus använder ett OS som de kallar Asuswrt som är baserat på TomatoUSB, och de har redan från början stöd för att installera optware/entware (och där finns det Asterisk-paket). Aftersom Asuswrt är baserat på TomatoUSB så är stora delar av det Open Source (det är vissa medföljande program och drivrutiner till hårdvaran som är closed source bara).

Det tar lite tid att bli van vid ett operativ som har root-disken read-only, men när man väl börjar fatta hur grejerna funkar så är det som vilken linux som helst.

Kod: Markera allt

ASUSWRT RT-AC66U_3.0.0.4 Tue Oct 23 03:06:37 UTC 2012
admin@(none):/tmp/home/root# uname -a
Linux (none) 2.6.22.19 #4 Mon Oct 22 23:07:30 EDT 2012 mips GNU/Linux

admin@(none):/tmp/home/root# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
tmpfs on /tmp type tmpfs (rw)
devfs on /dev type tmpfs (rw,noatime)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
/dev/mtdblock5 on /jffs type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /tmp/mnt/optware type ext2 (rw,nodev,noatime)

admin@(none):/tmp/home/root# free
              total         used         free       shared      buffers
  Mem:       239768        54120       185648            0         6416
 Swap:            0            0            0
Total:       239768        54120       185648

admin@(none):/tmp/home/root# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                22.6M     22.6M         0 100% /
tmpfs                   117.1M      2.4M    114.7M   2% /tmp
devfs                   117.1M         0    117.1M   0% /dev
/dev/mtdblock5           32.0M      1.4M     30.6M   4% /jffs
/dev/sda1                 1.8G     11.8M      1.7G   1% /tmp/mnt/optware

admin@(none):/tmp/home/root# opkg list|grep asterisk18 |wc -l
68

rolex42
Inlägg: 519
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

Re: Raspberry Pi + Asterisk

Inlägg av rolex42 »

R-pin får vara dedicerad för Asterisk och inget annat. Det bör gå att få till det så att den i stort sett bara sköter signallering.
Om allt faller ut väl tänkte jag koppla in de gamla analoga telefonerna via SPA112.

Asterisk konfig är ju lite hemligt när man är ny på det.
Ex extensions.conf:
------------------
[general]
autofallthrough=yes
static=yes
writeprotect=no

[incoming]
exten => _X,1,Dial(SIP/1000)

[default]
exten => _100X,1,Dial(SIP/${EXTEN})
exten => _9.,1,Dial(SIP/${EXTEN:1}@phonzo)
Nerre
Inlägg: 26747
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Raspberry Pi + Asterisk

Inlägg av Nerre »

Ja, konfiggen är riktigt ruggig att sätta sig in i, särskilt eftersom det är så lätt att göra små missar som öppnar luckor så vem som helst kan ringa vart som helst typ...

Men det finns rätt bra dokumenterad "best practise" i dokumentationen. MEN, 99% av alla exempel som finns är skrivna av folk som INTE har läst den!

http://www.asteriskdocs.org/en/3rd_Edit ... urity.html

Finns även en massa bra tips under "pattern matching" för dialplan.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Raspberry Pi + Asterisk

Inlägg av blueint »

@Nerre, Blev lite nyfiken när din prompt visade "mips" så jag kollade vad det var för CPU.. ;)

http://wl500g.info/showthread.php?30230 ... -802-11ac)
http://uk.hardware.info/reviews/3216/2/ ... easter-egg
http://content.hwigroup.net/images/prod ... 6026-8.jpg
(U4 = powersupply?)
http://wikidevi.com/wiki/ASUS_RT-N66U

CPU1: Broadcom BCM4706 (600 MHz)

http://www.broadcom.com/products/Wirele ... ns/BCM4706
The BCM4706 integrates a powerful 600 MHz MIPS32 74K superscalar CPU with gigabit MAC and supports high-speed I/O interfaces including DDR2 and PCIe. The BCM4706 also integrates a USB2.0 host controller to connect to external USB storage devices.
Inte dåligt vad som går in i en sådan liten enhet.

@rolex42, Törs du förklara det där konfigurationsexemplet?
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Raspberry Pi + Asterisk

Inlägg av Wedge »

Dialplan-programmering i Asterisk är en utmaning, minst sagt. Släng gärna ett öga på AEL (Asterisk Extension Language) istället, så kan du koda samma saker fast på ett sätt som mer liknar normala programmeringsspråk.
rolex42
Inlägg: 519
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

Re: Raspberry Pi + Asterisk

Inlägg av rolex42 »

@blueint Nej, egentligen kan jag inte det. Är nybörjare och har fått hjälp med exemplet av en kollega.
rolex42 skrev: [incoming]
exten => _X,1,Dial(SIP/1000)
Inkommande samtal styrs till anknytning 1000.
.
rolex42 skrev: [default]
exten => _100X,1,Dial(SIP/${EXTEN})
exten => _9.,1,Dial(SIP/${EXTEN:1}@phonzo)
Anknytning som ringer 4-siffrigt nr 100X styrs intern till angiven anknytning.
Anknytning som ringer 9 och nåt mer styrs externt till phonzo.
Nerre
Inlägg: 26747
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Raspberry Pi + Asterisk

Inlägg av Nerre »

Jo, RT-AC66U är väl en av de vassaste konsumentroutrarna som finns just nu, därför jag köpte den. Främst för att Asterisk troligen äter en del RAM.

Man får ju inte glömma att det där är bara processorn, det sitter en rätt duktig switch i den också (mellan router och WiFi/LAN). RT-N66U är i princip lika vass men lite billigare (den har inte 802.11ac då iofs, men jag har ändå inga burkar som kör ac:).

Den är specad att klara 800 Mbit/s WAN-LAN så den är rätt framtidssäker, om jag nu skulle vilja uppgradera min fiber till gigabit.


Dialplans är lite grann som små programsnuttar, och det är mest en massa "mönstermatchning" som inte riktigt liknar regexp...
tajson
Inlägg: 8
Blev medlem: 28 maj 2011, 09:40:27

Re: Raspberry Pi + Asterisk

Inlägg av tajson »

Jag kör FreeSwitch på min RPi och det fungerar utan problem. Kör t om med 3G dongle nu när jag är utomlands i ett år så jag routar min sverige-mobil genom FreeSwitch till dom SIP-klienter jag har ansluten, endera min laptop eller Android. Båda ringer samtidigt, först till kvarn tar samtalet osv.

Kan ladda upp debs för raspbian om intresse finns.
rolex42
Inlägg: 519
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

Re: Raspberry Pi + Asterisk

Inlägg av rolex42 »

Det tog lite tid att få till men nu fungerar det att ringa till/från min Asterisk. Exvis tog det en vecka att få inloggningsuppgifterna från Phonzo.
Det finns ett antal bloggar och guider som beskriver detta men kortfattat handlar det om följande Installera Asterisk
> sudo bash
# apt-get update
# apt-get upgrade
( # apt-get install emacs23-nox htop zsh most dnsutils )
# apt-get install asterisk

Det finns en hel del info på nätet så det är inte alltför svårt att läsa på om hur man sätter upp och konfigurerar Asterisk.

Några återkommande kommandon
# service asterisk restart
# tailf -50 /var/log/asterisk/messages

Här följer mina första enkla konfigurationer som gör att det går att ringa intern mellan anknytninger och in/ut via phonzo.
I detta läge är det bara sip.conf & extensions.conf som ändras.

sip.conf
[general]
context=default
allowguest=no
allowoverlap=no
allowtransfer=no
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes
useragent=A
register => 4610511....:hemligt@sip.phonzo.com/1001
localnet=192.168.0.0/255.255.0.0

[authentication]

[phonzo_provider]
type=peer
host=sip.phonzo.com
username=4610511....
fromuser=4610511....
remotesecret=hemligt
secret=hemligt
transport=udp,tcp
insecure = invite
dtmfmode = rfc2833
disallow = all
allow = ulaw

[basic-options](!) ; a template
dtmfmode=rfc2833
context=from-office
type=friend

[natted-phone](!,basic-options) ; another template inheriting basic-options
directmedia=no
host=dynamic

[public-phone](!,basic-options) ; another template inheriting basic-options
directmedia=yes

[my-codecs](!) ; a template for my preferred codecs
disallow=all
allow=ilbc
allow=g729
allow=gsm
allow=g723
allow=ulaw

[ulaw-phone](!) ; and another one for ulaw-only
disallow=all
allow=ulaw

[1000]
secret=1000
type=friend
host=dynamic
context=default
canreinvite=no

[1001]
secret=1001
type=friend
host=dynamic
context=default
canreinvite=no

extensions.conf
[general]
autofallthrough=yes
static=yes
writeprotect=no

[default]
exten => _100X,1,Dial(SIP/${EXTEN})
exten => _X.,1,Dial(SIP/${EXTEN:1}@phonzo_provider)
svanted
Inlägg: 5093
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: Raspberry Pi + Asterisk

Inlägg av svanted »

en perfekt tillämpning, funkar den bra/stabilt?.
i så fall ska jag genast beställa en...finns de med låda?
Skriv svar