Configuring an Asterisk server

Configuring an Asterisk server

If you want to set up Calculate Directory Server as an IP dial system, you should use Asterisk, a software implementation of a telephone PBX released under the GPL licence, that supports various VoIP protocols. To configure Asterisk, you will need to edit files /etc/asterisk.

This article describes how to configure a regular Asterisk server.

Problem specification

  • Say you have one running Asterisk server and you need to set up another one for a new office.
  • Two analog lines are provided for it.
  • One line is used for telephone calls and the other one is for faxes.
  • The interface card installed on the server will be Digium AEX804E; it uses PCI-Express motherboard interface and has 8 ports, with a 4-FXO ports module and an echo cancellation module.
  • The existing server is in Saint-Petersburg, the new one will be located in Moscow.
  • The two servers must be connected and have an intergrated internal phone numbering scheme.
  • The Moscow server will comply to the following procedure when receiving a call on the main line:
    A call is received → the system plays the greeting and suggests adding an extension number → if the extension is not added, the call will be passed on to a secretary in Saint-Petersburg → if the secretary does not answer, the call will be passed on to users of the Moscow server → if users in Moscow do not answer, the call will be passed on the to users in Saint-Petersburg.
  • Calls going to the fax line must be addressed to the fax receiver.
  • To be able to fax through SIP, you will need an FXS gateway, e.i. Linksys SPA2102.
  • Incoming calls must go to the first available line. If the main phone line is busy, it goes to the fax line.
  • Calls from a Moscow server to Saint-Petersburg (area code 812) must go through the server in Saint-Petersburg.
  • All the settings below were tested on and apply to the following versions of packages:
    • net-misc/asterisk-1.6.2.17.3
    • net-misc/dahdi-2.4.1
    • net-misc/dahdi-tools-2.4.1

Install the Asterisk server

Before you start configuring, you must install the Asterisk package and the accompanying packages onto your Calculate Directory Server.

Configuring USE flags for the new packages

Create /etc/portage/package.use/asterisk; this file will contain all USE flags required by your packages.

net-misc/asterisk alsa caps iconv jabber ldap samples speex ssl vorbis dahdi span
net-misc/asterisk-core-sounds alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav
net-misc/asterisk-extra-sounds alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav
net-misc/asterisk-moh-opsound alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav
media-libs/speex sse ogg

For the net-misc/asterisk package, add the flags dahdi (for phones), span (for faxes) and vorbis (optional; supports the Vorbis codec). For other packages, add support for all available codecs.

Installing the required packages

Now, when you have specified the USE flags, install the packages.
Please execute:

emerge -a asterisk dahdi dahdi-tools

 

The following package list will be returned:

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] net-libs/libpri-1.4.11.4
[ebuild  N     ] sys-libs/slang-2.2.2  USE="pcre png readline zlib -cjk" 
[ebuild  N     ] dev-libs/iksemel-1.3  USE="-gnutls" 
[ebuild  N     ] media-libs/spandsp-0.0.6_pre12-r1  USE="mmx sse sse2 sse3 -doc (-fixed-point) -static-libs
[ebuild  N     ] net-misc/dahdi-2.4.1  USE="flash" 
[ebuild  N     ] dev-libs/newt-0.52.12  USE="gpm nls -tcl" 
[ebuild  N     ] net-misc/dahdi-tools-2.4.1  USE="-ppp" 
[ebuild  N     ] net-misc/asterisk-1.6.2.17.3  USE="alsa caps dahdi iconv jabber ldap samples span speex ssl vorbis -doc -freetds -lua -newt -oss -postgres -radius -snmp -sqlite" 
[ebuild  N     ] net-misc/asterisk-extra-sounds-1.4.11  USE="alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav" LINGUAS="fr" 
[ebuild  N     ] net-misc/asterisk-moh-opsound-2.03  USE="alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav"[ebuild  N     ] net-misc/asterisk-core-sounds-1.4.19  USE="alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav" LINGUAS="fr" 

Would you like to merge these packages? [Yes/No]

 

Say yes and wait until the packages are merged. It is now time for setup.

Basic setup of SIP

The goal is set; let us configure our new server.

Creating accounts

Begin by adding several local SIP users. To do this, edit the file /etc/asterisk/sip.conf.

Add a template for the SIP phones' common settings:

[office-phones](!) 
type=friend 
context=outcoming-sip 
secret=xxxxxxxx 
host=dynamic 
nat=no 
qualify=yes 
canreinvite=no 
callgroup=1 
pickupgroup=1 
dtmfmode=auto 
disallow=all 
allow=g722

 

Let us see this code fragment. The template is set with an exclamation point in brackets put near the section name [phones](!)

  • type — type of connection (peer — outcoming calls only, user — incoming calls, friend — both incoming and outcoming calls)
  • context — context in /etc/asterisk/extension.conf that will be applied when a number is dialed
  • secret — password for a SIP phone
  • host — phone host name (dynamic host name)
  • nat — network address translation
  • qualify — checking the phone
  • canreinvite — direct access to another phone number, avoiding Asterisk
  • callgroup — call group number
  • pickupgroup — pick-up group number
  • dtmfmode=auto — dtmf mode (auto|inband|info|rfc2833)
  • disallow=all — disallows all codecs
  • allow=g722 — allows using codec g722

Then add sections for every phone set:

[001](office-phones)
callerid="Manager 1" <800>
[002](office-phones)
callerid="Manager 2" <801>
[003](office-phones)
t38pt_udptl=yes
callerid="Msk Fax" <802>
disallow=all
allow=alaw
allow=ulaw

 

For faxing, you will have to reset the supported codecs, since receiving the fax signal requires the codec g711 (alaw and ulaw), while t38pt_udptl=yes allows using the t.38 protocol for sending faxes.

Basic setup of the dialing scheme

Your phones and your FXS gateway can be now registered on the server, but they cannot yet actually make calls. To mend this, you will have to add an outcoming SIP to /etc/asterisk/extensions.conf

Configuring internal numbers

For your convenience, put all local numbers in one section:

[msk-local-phones]
exten => 800,1,Log(NOTICE,"800 ACCOUNT")
exten => 800,2,Dial(SIP/001,120,Tt)
exten => 801,1,Log(NOTICE,"801 ACCOUNT")
exten => 801,2,Dial(SIP/002,120,Tt)
exten => 802,1,Log(NOTICE,"802 ACCOUNT")
exten => 802,2,Dial(SIP/003,120,Tt)

Make a hang-up section, too:

[handup-sip]
exten => _X!,1,HangUp()

Then add our sections in [outcoming-sip]:

[outcoming-sip]
include => msk-local-phones
include => handup-sip

Now, when you have restarted Asterisk, you will be able to make calls inside your server zone to numbers 800, 801 and 802 respectively. Launch the console manager of your Asterisk server by running asterisk -r and reload; this will make Asterisk re-read all settings. Or you can also re-read them one by one, by running sip reload to restart SIP settings and dialplan reload to restart the dialing scheme.

If you execute sip show peers, you will see the list of available users on the server, which of them are registered now and what their IPs are.

Configure the connections of the two servers and calls passed between them

At this stage, your users in Moscow are already able to call each other, but you also have users on the Saint-Petersburg server they should be able to join as well. To allow this, you have to set up a connection between your two Asterisk servers.

Setting up a connection between two Asterisk servers through the SIP protocol

On the Moscow server, append the following lines to /etc/asterisk/sip.conf:

in the [general] section:

register => msk_asterisk:XXXXXXXXX@192.168.0.30/spb_asterisk

 

and make a new section at the end of the file:

[spb_asterisk]
type=friend
secret=XXXXXXXXX
context=spb_incoming
host=dynamic
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=ulaw

 

The procedure that has to be followed on the Saint-Petersburg server is very similar:

in [general]:

register => spb_asterisk:XXXXXXXXX@192.168.1.25/msk_asterisk

 

and making a new section at the end of the file:

[msk_asterisk]
type=friend
secret=XXXXXXXXX
context=msk_incoming
host=dynamic
qualify=yes
tmfmode=rfc2833
disallow=all
allow=ulaw

 

Let me explain what it all means.

register => msk_asterisk:XXXXXXXXX@192.168.0.30/spb_asterisk


This line tells your Moscow server to register on the server in Saint-Petersburg, 192.168.0.30/spb_asterisk, with login msk_asterisk and passwordXXXXXXXXX.

These were actually specified when you created the section [msk_asterisk] on your server in Saint-Petersburg. Accordingly, this server will register on the Moscow server, 192.168.1.25/msk_asterisk with the login and password specified in the [spb_asterisk] section of the Moscow server configuration.

Configuring the dialing scheme for server connection

Now the two servers are connected; the dialing scheme must be defined to allow Moscow users to make calls to Saint-Petersburg and vice versa.

To do this, create the [spb-local-phones] section in the file /etc/asterisk/extensions.conf on your Moscow server; there you will define your users in Saint-Petersburg:

[spb-local-phones]
exten => 500,1,Dial(SIP/spb_asterisk/500,120,Tt)
exten => 501,1,Dial(SIP/spb_asterisk/501,120,Tt)
(... и т. д.)

 

Note the difference from defining local users.

In you had exten => 800,2,Dial(SIP/001,120,Tt) for local users - that is, you called the user with login 001 by dialing 800, now you have exten => 500,1,Dial(SIP/spb_asterisk/500,120,Tt) - i.e., you are calling the user with number 500 that is on the spb_asterisk server.

In the existing section [outcoming-sip], add a new new section with local numbers of the Saint-Petersburg server:

[outcoming-sip]
include => msk-local-phones
include => spb-local-phones
include => handup-sip

 

Create the [spb_incoming] section to handle calls coming from Saint-Petersburg:

[spb_incoming]
include => msk-local-phones
include => handup-sip

In Saint-Petersburg, proceed by analogy:

[msk-local-phones]
exten => 800,1,Dial(SIP/msk_asterisk/800,120,Tt)
exten => 801,1,Dial(SIP/msk_asterisk/801,120,Tt)
exten => 802,1,Dial(SIP/msk_asterisk/802,120,Tt)

[outcoming-sip]
include => msk-local-phones
include => spb-local-phones
include => handup-sip

[msk_incoming]
include => spb-local-phones
include => handup-sip

Restart the SIP settings and the dialing scheme. Now all our users in Moscow as well as in Saint-Petersburg (both servers running Calculate Directory Server with Asterisk) can join each other.

Set Digium AEX804E and configure the dialing scheme

OK, now your users in Moscow can call each other, can call their colleagues in Saint-Petersburg, but they still cannot call standard numbers. You must configure your interface card to allow them to.

Setting up the system to work with the interface card

For the interface card to be operational, you will need the packages net-misc/dahdi and net-misc/dahdi-tools.

Once these packages are installed, comment the line containing the card module in /etc/modprobe.d/dahdi.blacklist.conf, so that the module is launched by the system.

It should look like this:

# blacklist all the drivers by default in order to ensure that
# /etc/init.d/dahdi installs them in the correct order so that the spans are
# ordered consistently.

blacklist wct4xxp
blacklist wcte12xp
blacklist wct1xxp
blacklist wcte11xp
#blacklist wctdm24xxp
blacklist wcfxo
blacklist wctdm
blacklist wctc4xxp
blacklist wcb4xxp
blacklist wcopenpci
blacklist zaphfc

 

In your case, you will need the module wctdm24xxp: this module is used by the cards TDM2400P/AEX2400, TDM800P/AEX800 and TDM410P/AEX410.

Now configure channels on your card. To do this, you will edit the /etc/dahdi/system.conf file.

Your card has a module trunk including 4 FXO ports, with channels numbered from 5 to 8 (if you look on your card, these will be 4 left ports. Channels are numbered from right to left; consequently, the eighth channel is at the extreme left and the first channel is at the extreme right.)

Append the following to the configuration file:

fxsks=5
fxsks=6
fxsks=7
fxsks=8

 

The lines above mean that channels from 5 to 8 use fxsks signaling.

Explaining FXO and FXS concepts

Let us take a break and try to understand what are FXO and FXS and which signaling belongs where.

An FXO (Foreign eXchange Office) port receives the line from the exchange; that is, it acts as a terminal device (a phone set) and uses fxsks signaling.

An FXS (Foreign eXchange Station) port generates the ready signal and the line voltage; that is, it acts as an exchange and uses fxoks signaling.

Thus the ports have names which correspond to the nature of their connections, and use signaling that is appropriate in their case.

Setting up FXO channels on your Asterisk server

Launch the dahdi daemon with /etc/init.d/dahdi start and enter dahdi_cfg -vv to see if it works as expected.

The program will return:

DAHDI Tools Version - 2.4.1

DAHDI Version: 2.4.1
Echo Canceller(s):
Configuration
======================

Channel map:

Channel 05: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 05)
Channel 06: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 06)
Channel 07: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 07)
Channel 08: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 08)

4 channels to configure.

etting echocan for channel 5 to none
Setting echocan for channel 6 to none
Setting echocan for channel 7 to none
Setting echocan for channel 8 to none

 

Now you have to configure channels right on the Asterisk server. To do so, edit the /etc/asterisk/chan_dahdi.conf file.

It it the [channels] section, namely, that needs editing:

[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
signaling=fxs_ks
context=incoming_fxo
group=1
channel=>7
context=incoming_fxo_fax
group=1
channel=>8

 

The available options are:

  • usecallerid=yes — enables passing CallerIDs
  • hidecallerid=no — tells that CallerIDs will be passed for outcoming calls
  • callwaiting=no — disables deferred calls
  • threewaycalling=yes — enables connecting a third user
  • transfer=yes — enables call redirections
  • echocancel=yes — enables echo cancellation
  • echotraining=yes — sets the echotraining mode on, to accelerate echo cancellation setup
  • signaling=fxs_ks — tells to use fxs signaling
  • group=1 — channel group

The first context defines how calls are handled for channel 7; the second context does the same for channel 8. The main line is on channel 7, while channel 8 is used for faxing. The group=1 parameter, set for both channels, puts them together in one group. This will permit you to make calls through the first available line.

Configuring the dialing scheme for receiving calls

You can now configure the dialing scheme for receiving calls on your lines.
Create the context [incoming_fxo] in /etc/asterisk/extensions.conf:

[incoming_fxo]
exten => s,1,Answer()
exten => s,n,Ringing()
exten => s,n,Queue(welcome,n,,,12)
exten => s,n,GotoIfTime(19:15-8:00,*,*,*?allRing:default)
exten => s,n(allRing),NoOp()
exten => s,n,Queue(allNoFaxes,r,,,600)
exten => s,n,HangUp()
exten => s,n(default),NoOp()
exten => s,n,Queue(secretary,r,,,6)
exten => s,n,Queue(msk-manager1,r,,,10)
exten => s,n,Queue(spb-managers,r,,,600)
include => handup-sip

 

Here you are answering the call and sending it to the relevant queue.
Queue(welcome,n,,,12) send the call to the queue welcome for 12 seconds; the n parameter allows to dial while the call is in the queue and the Music On Hold (MOH) is playing. In the welcome queue, on the other had, the greeting message will be played, as we will describe later.
GotoIfTime(19:15-8:00,*,*,*?allRing:default) verifies the condition: if it is from 7.15 p.m. to 8.00 a.m., to to the allRing tag, else to thedefault tag. All phone sets will thus ring when the majority of staff are not in office, and in working hours the normal order is respected. Then, under thedefault tag, your call will go to the secretary for 6 seconds, then, for 10 seconds, to managers in Moscow and, finally, for 600 seconds, to managers in Saint-Petersburg. The r parameter in a Queue() call tells the program to play ringing instead of MOH.

You will also need a context for the second line; create the section [incoming_fxo_fax] in /etc/asterisk/extensions.conf:

[incoming_fxo_fax]
exten => s,1,Answer()
exten => s,2,NoOp()
exten => s,n,Ringing()
exten => s,n,Queue(msk-faxes,r,,,600)
include => handup-sip

 

On this line, you will be just sending the call to fax for 600 seconds.

Creating call queues

Let us see how queues are described. This is done in the /etc/asterisk/queues.conf file:

[welcome]
strategy = ringall
musicclass=welcome
context=all-local-sip

[secretary]
strategy = ringall
musicclass=default
context=all-local-sip
; Secretary
member => SIP/spb_asterisk/550,1

[spb-managers]
strategy = ringall
musicclass=default
context=all-local-sip
; Managers
member => SIP/spb_asterisk/500,1
member => SIP/spb_asterisk/501,1
; (… и т. д.)

[msk-faxes]
strategy = ringall
musicclass=default
context=all-local-sip
; Moscow Fax
member => SIP/002,1

[msk-manager1]
strategy = ringall
musicclass=default
context=all-local-sip
; Moscow Managers
member => SIP/001,1

 

The main parameters used to described queues are:

  • strategy — strategy of handling incoming calls; it can take the following values:
    • ringall — all available members will be called, until anyone of them answers (is set by default);
    • leastrecent — the least recent member will be called;
    • fewestcalls — the member who was called the less will be called;
    • random — an available member will be chosen randomly;
    • rrmemory — a recursive call with memory; the last queue member will be remembered;
  • musicclass — sets the music or the message to be played while waiting in this queue (to be specified in /etc/asterisk/musiconhold.conf);
  • context — sets the context that will handle calling the number while in the queue;
  • member — sets the queue members who will handle the call. A record will be created for each member.

To handle extensions in the welcome queue, you have specified the context [all-local-sip]; it must contain all local numbers in Moscow and in Saint-Petersburg. A record must be done accordingly in /etc/asterisk/extensions.conf:

[all-local-sip]
include => msk-local-sip
include => spb-local-sip
include => handup-sip

Calls will be queued and handled as described below:
The function Queue(welcome,n,,,12) in the dialing scheme sends the incoming call to be handled in the welcome queue. During 12 seconds, the person who called will hear the greeting message and, since you have specified the n parameter, will be able to dial an extension number that will be handled by theall-local-sip context. When 12 seconds have elapsed and if no extension has been dialed, the call will be discarded from the queue and handled according to the dialing scheme.

When the function Queue(msk-manager1,r,,,10) is called, the call will be handled for 10 seconds by the queue msk-manager1. Since you have specified the r parameter, the person who is calling will hear buzzing while they are waiting. Meanwhile, the call will be handled according to the strategy you specified - in this case, ringall (i.e. the specified queued members will be called). If any member in the queue takes the phone, the connection is established. Otherwise, if nobody takes the phone within 10 seconds, the call will be handled according to the dialing scheme.

Customizing the Music On Hold (MOH) message

OK, incoming calls on your standard lines are handled and the greeting message is played ( the_welcome_ class being specified for the queue welcome); let us see how it is defined. MOH is described in /etc/asterisk/musiconhold.conf.

When installing Asterisk, this file contains this:

[general]

[default]
mode=files
directory=moh

 

You will need to append the following section to it:

[welcome]
mode=files
sort=alpha
directory=/etc/asterisk/moh1

 

By this record, you tell the Asterisk server to play files from the directory /etc/asterisk/moh1 by alphabetic order. The recorded message is put in this directory. To decrease server load, you should first convert the message with ffmpeg@ (the package media-video/ffmpeg is pre-installed in Calculate Linux Desktop) to the most commonly used codecs: _alaw, ulaw, g722, g729, gsm and in Asterisk Native SLN, for Asterisk to be able to convert immediately.

For instance, to convert to Native SLN with ffmpeg, execute:

ffmpeg -i "[input file]" -ar 8000 -ac 1 -acodec pcm_s16le -f s16le "[output file].sln" 

 

To convert the existing mp3 files to mono wav and ulaw pcm, enter:

for f in `ls *.mp3` ; do FILE=$(basename $f .mp3) ; ffmpeg -i $FILE.mp3 -ar 8000 -ac 1 -ab 64 $FILE.wav -ar 8000 -ac 1 -ab 64 -f mulaw $FILE.pcm -map 0:0 -map 0:0 ; done

 

Configuring the dialing scheme for incoming calls

All you have to do now is to configure incoming calls bound for standard numbers. Create the [city-calls] section in/etc/asterisk/extensions.conf, containing:

[city-calls]
exten => _98812XXXXXXX,1,Dial(SIP/spb_asterisk/${EXTEN})
exten => _98812XXXXXXX,2,Congestion
exten => _9XXXXXXX,1,Dial(DAHDI/g1/8495${EXTEN:1})
exten => _9XXXXXXX,2,Congestion
exten => _98.,1,Dial(DAHDI/g1/${EXTEN:1})
exten => _98.,2,Congestion

 

Including it in the [outcoming-sip] section:

[outcoming-sip]
include => local-sip
include => spb-local-sip
include => city-calls
include => handup-sip

 

That is, whenever a number in Saint-Petersburg (area code 812) is called, the call will be sent to the spb_asterisk server and handled by it. When there is a call to a standard number (7 digits), it will be extended to 10 digits, including the area code (here, 8495 which is the code for Moscow, where your server is located), while complete 10-digit numbers are accepted as they are.

In the Dial(DAHDI/g1/${EXTEN:1} command:

  • DAHDI — indicates you make calls with an FXO card
  • g1 — channel group 1 (you specified this when configuring FXO channels); the call is made through the group so that, if the main line is busy, the call goes to the fax line;
  • ${EXTEN} and ${EXTEN:1} — the dialed number. The complete syntax is ${EXTEN:x:y}, where x is the original state and y is the number of the returned digits.

Conclusion

The Asterisk server in thus set its basic configuration, in keeping with your needs. However, those are only main settings, that allow issuing and receiving calls. The Asterisk server provides unlimited telephony solutions for configuring and running an office IP-PBX. We hope that this article helped you understand how Asterisk works; now you can devise your own configuration.

C# 上位机程序中的数据采集与存储技术:从采集到持久化的完整解决方案 本文系统讲解C#上位机程序如何实现设备数据采集与持久化。主要内容包括:1)多种数据采集方式(串口通信、Modbus、OPC等)及代码示例;2)详细对比不同存储技术(CSV、SQLite、关系型数据库等)的优缺点;3)提供SQLite等存储实现代码;4)推荐分层系统架构(采集-缓存-存储-可视化);5)性能优化建议(多线程采集、异步存储、批量写入等)。文章强调应根据项目需求选择合适的技术方案,构建高效稳定的数据采集存储闭环系统。 阅读详情

相关推荐

红外热成像仪原理及应用

目录什么是红外热成像背景介绍热成像技术原理热成像分类红外热成像和夜视仪之间的区别红外热像仪夜视仪红外照明相机对比红外热像仪都能看透什么如何选择制冷型和非制冷型红外热像仪制冷型红外热像仪非制冷型红外热像仪实例对比成像速度空间分辨率灵敏度光谱滤波同步何如选择合适的红外热像仪像素测温范围和被测物温度分辨率空间分辨率温度稳定性热像仪的距离系数比常见热成像仪关键参数量程视场角 (FOV)红外分辨率热灵敏度(NETD)焦距光谱范围精度内置优化分析NTED(热灵敏度)什么是NETD如何测量NETD?NETD如何影响测量?

zhy295006359的博客 2万+

tuning+asterisk+server

提高asterisk 服务器并发的几个关键点。 System Hardware Optimizations Operating System Tuning Network Stack Tuning , : tuning kernal tcp/ip stack. IO subsystem &amp; File System Optimization : use ...

javahigh1 180

QMT量化交易桥接方案深度对比:从MiniQMT淘汰说起

量化交易系统中的API桥接,本质是解决本地终端与底层交易引擎之间的通信瓶颈。其核心原理在于绕过GUI封装、直连确定性执行层,从而获得低延迟、高可靠、可监控的指令通路。技术价值体现在策略实盘一致性提升、毫秒级响应保障及运维可控性增强。典型应用场景包括打板策略、T+0套利、高频网格等对时效与稳定性双敏感的自动化交易。本文聚焦国金证券QMT专业版生态,系统剖析DLL注入、HTTP反向代理、IPC共享内存与官方HTTP API四大桥接路径的性能边界、合规风险与工程落地成本,尤其深入解析qmt终端 client is

weixin_33892359的博客 457

java 连接asterisk_asterisk-java ami 入门篇,连接与关闭服务器

我选择的是通过AsteriskServer 来生成连接,因为后面要通过AsteriskServer来进行监听通话属性的改变。demo:AsteriskServer asteriskServer=new DefaultAsteriskServer("服务器ip", "账号","密码");if(asteriskServer!=null){ManagerConnection conn=asteriskS...

weixin_31653971的博客 712

光耦继电器电路分析

光耦电路的分析笔记

MingYue_SSS的博客 6874

KIBANA可视化管理界面说明

更说明转自https://blog.youkuaiyun.com/IT_ZRS/article/details/125496588 1 主要结构功能 使用浏览器访问 ip:5601 默认端口,进入首页 Discover:日志管理视图 主要进行搜索和查询 Visualize:统计视图 构建可视化的图表 Dashboard:仪表视图 将构建的图表组合形成图表盘 Timelion:时间轴视图 随着时间流逝的数据 APM:性能管理视图 应用程序的性能管理系统 Canvas:大屏展示

tian830937的专栏 7083

Asterisk服务器之间的互联

Asterisk服务器之间的互联 3台Asterisk servers的互联 以下使用 serverA与 serverB、serverC代替三台服务器 serverA ip地址为 192.168.0.99 ServerB ip地址为 192.168.0.98 serverC ip地址为 192.168.0.97 serverA修改/etc/asterisk/sip.conf文

goautodial的专栏 2742

leaflet 综合教程170+ 【目录 】(已包含162篇文章)

vue+leaflet系列教程旨在为开发者提供简单快捷的,。在每一个示例中,解释相应的API知识点,做到。注意本示例目录中的内容可能加载是vue+openlayers的示例, 本目录是要加载vue+leaflet的示例,只是内容少,逐渐更新中。

大剑师兰特的GIS世界 1万+

Asterisk 服务器 Linux平台安装教程

系列文章目录 目录 系列文章目录 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加.

优快云_DTEO的博客 4331

手把手教你学SOME/IP「3.2.1.发布/订阅行为」

本文详细介绍了SOME/IP协议中的服务发现机制,重点解析了发布/订阅行为的流程。主要内容包括:1)服务发布与Method通信流程,涵盖find/offer报文交互、TTL保活机制及异常处理;2)服务订阅与Event通信流程,包括subscribe/ack报文交互和组播延迟机制;3)特殊场景如快速发送、半周期回复、重置订阅等机制。通过邮局订阅报纸的类比,帮助理解服务发现的核心原理,并强调流程图对于问题定位的重要性。文章为SOME/IP协议的工程实现提供了实用指导。

nihaoljq2010的博客 1221

9、 量子支持向量机:从经典到量子的跨越

本文详细介绍了量子支持向量机(QSVM)的基本原理及其在PennyLane和Qiskit框架中的实现方法。从经典SVM的基础知识出发,逐步深入到量子领域的应用,包括如何定义量子核函数、与scikit-learn集成以及在模拟器和实际量子计算机上的训练和评估过程。最后通过表格和流程图总结了不同框架下的实现要点,为未来量子机器学习的研究提供了参考。

weixin_42433737的博客 184

VoIP服务器Asterisk安装及部署

操作系统:Ubuntu-Server 20.04 一、安装 sudo apt-get install asterisk 二、基本配置 编辑/etc/asterisk/sip.conf文件 修改以下内容 [general] context = default tcpbindaddr = 0.0.0.0 tcpenable = yes 在末尾添加100、101账号 [100] type = friend username=100 secret = 100 accountcode=10.

clark的专栏 5595

SAP Fiori Launchpad 上看不到任何 tile 应该怎么办?

中心UI组件是一个框架,为所有SAPFiori应用程序提供公共基础设施SAPFiorilaunchpad是所有SAPFioriUI的基础,并为SAPFiori应用程序提供基本功能,如登录,界面大小,应用程序之间的导航,和基于角色的应用程序目录。ABAP前端服务器包含所有基础设施组件,用于为客户端生成SAPFiori应用程序特定的UI,并与SAPBusinessSuite后端系统通信。SAPFiori应用程序的处理过程如下首先,客户端加载SAPFiori应用程序的界面。...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 941

asterisk服务器的搭建和配置

大约在一年前,学习过一段时间的asterisk。作为一个相对成熟的VOIP电话的服务器,asterisk完全可以用来作为个人的一个微型电话局。反正个人有个阿里云服务器闲着,搭一个asterisk用来玩玩吧。         首先,要安装asterisk。个人建议使用apt-get进行安装,因为asterisk需要依赖很多东西,通过apt-get安装可以直接将需要的库等都安装好。 sud

Mr_Xu的博客 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

openwrt上的asterisk的VOIP系统的建立

原文地址:openwrt上的asterisk的VOIP系统的建立作者:cliff 网络电话很便宜。自己搭一个网络电话系统更好玩。 这里写的是两年前我的网络电话系统。现在个人使用的系统简单得多了。 当时已有的资源: 1. 一条本地电话线。拨打和接听本地电话都免费; 2. 一个VOIP账户,支持通用的SIP协议(一种网络电话传输协议)。 目标: 1. 局域网内任何用户都可以利用上述两个账

killmice的专栏 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

安装、配置和测试Asterisk过程中遇到的问题及解决方法

最近刚刚接触Asterisk,第一步想用Asterisk搭建一个VoIP服务器,然后用安装两个软电话实现通话,然后再深入一点研究。然而就是这第一步,对于我这个Linux和Asterisk新手来说,也是问题频出,今天终于能打通了,在此记录一下遇到的问题及解决办法,希望对遇到和我同样问题的人有点帮助。 一、下载和安装Asterisk 我觉得下载源码这些东西就去官网下 ,虽然国外的网站下载速度慢点

szyanjian的博客 8954

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

asterisk出现 set_format:Unable to find a codec translation path from 0X100 (G729)

在播放语音的时候,尽管语音文件明明是gsm,但是还是会出现g729的bug, 经过查阅相关资料得知,这个原因的出现原来是配置SIP通道的时候,设置上有问题 没有指定编码格式,即使指定为 allow = all 也会出现这种原因, 后来终于找到解决的方法,先禁止所有的编码格式,使用 disallow = all 然后再指定想要允许的编码格式就可以解决了. 最终只要将...

yyxawe的专栏 360

asterisk sip.conf 配置选项说明

Asterisk config sip.confPage ContentsAsterisk as a SIP client Example: Another example SIP Configuration - general SIP configurations - peers and clients Notes Ex

语音通讯-软交换asterisk,Freeswitch 1万+

asterisk 模拟卡常见问题以及解决办法(第一部分、第二部分)(转)

asterisk 模拟卡常见问题:http://hi.baidu.com/j8421/blog/item/acb6e0dc410e48a9cd1166c6.html asterisk 模拟卡常见问题以及解决办法 第一部分 转自:http://bbs.voip88.com/thread-380-1-1.html This troubleshooting is conducted to give users a guideline to fix problems. here, most of p

seven407的专栏 1万+

安装asterisk 时遇到的报错情况,及解决办法。

Debian 9 安装 asterisk https://linuxize.com/post/how-to-install-asterisk-on-debian-9/ configure 过程中遇到的问题 具体安装过程,网上说明很多,仅仅记录中间遇到的问题及解决办法​ 1) configure 过程中,提示 uuid support not found(this ...

1628

asterisk卡常见问题(收集整理)

以下转自:http://space.taobao.com/e2e26e6e41fda171bf6ec37c526f6893/show_blog-22524724.htmQ:系统检测不到内线模块A:通常是因为没有插上电源接头。如果卡上有内线模块,则需要将PC机箱电源引出的插头插到卡上右边的电源接口上。 Q:模拟卡检测不到外线挂机Q:听到的摘机信号音与普通的电话摘机信号音不一致。A:国内用户经常反

seven407的专栏 2万+

艾灸经验信息汇总-2019-2-22

      我的穴位 : 中脘穴     阴陵泉穴   丰隆穴   中脘穴属于“任脉穴”,有疏肝养胃、消食导滞、和胃健脾、降逆利水,且去眼袋、美容养颜、延缓衰老等作用;中脘穴的位置:肚脐向上4寸,详见本文图解中脘穴的准确位置图及穴位疗法。   阴陵泉穴归属足太阴脾经穴位图,有缓解治疗晕眩、腹水、腹痛、腹胀、腹泻、食欲不振等作用;阴陵泉穴的位置:位于人体的小腿内侧,膝下胫骨内侧凹陷中,...

qq_20476939的博客 1084

模拟板卡疑难杂症(转)

  转自:http://sun4love.javaeye.com/blog/848884 源自:http://blog.youkuaiyun.com/seven407/archive/2011/04/01/6294350.aspx , 不能编译zaptel和asterisk 请确认一下几点: 1) 你已经安装了所有必备的包和内核源码. 2) 内核源码的版本和内核的版本完全一样. 请参考一下网站: ht...

whatsyourname的专栏 2982

FreeSWITCH 与 Asterisk 比较

VoIP通信,与传统的电话技术相比,不仅仅在于绝对的资费优势,更重要的是很容易地通过开发相应的软件,使其与企业的业务逻辑紧密集成。Asterisk作为开源VoIP软件的代表,以其强大的功能及相对低廉的建设成本,受到了全世界开发者的青睐。而FreeSWITCH作为VoIP领域的新秀,在性能、稳定性及可伸缩性等方面则更胜一筹。本文原文在http://www.freeswitch.org/node...

whatsyourname的专栏 1462

VOS--配置多线机房默认路由

44.如何配置多线机房默认路由 以实际环境举例:服务器具备2个地址且有2块网卡。第一个地址为 172.16.1.36 对应网关为172.16.1.1,第二个地址为192.168.1.100 对应网关为192.168.1.1 (备注:以下操作禁止远程操作) 具体操作如下 1.编辑/etc/sysconfig/network 增加对应的网关GATEWAY NETWORKING=yes...

whatsyourname的专栏 1289
上一篇: Linux Server Configuration (不错)
下一篇: XMPP 之Openfire的用户数据库整合
whatsyourname
博客等级 码龄23年 13粉丝 326原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值