{"id":312043,"date":"2020-10-26T15:00:46","date_gmt":"2020-10-26T15:00:46","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=312043"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=312043","title":{"rendered":"Asterisk \u043e\u0442 1.8 \u0434\u043e 16"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u041b\u0435\u0442 10 \u043d\u0430\u0437\u0430\u0434 \u0443 \u043d\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0431\u044b\u043b\u0430 \u0441\u0442\u0430\u043d\u0446\u0438\u044f \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 sip \u0438 \u043f\u0435\u0440\u0432\u044b\u0439 Asterisk 1.6 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e PRI \u043f\u043e\u0442\u043e\u043a\u0430\u043c. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0439 \u0441 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043d\u043e\u043c\u0435\u0440\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u043c\u0438 \u0438 \u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d chan_ss7 \u043e\u0442 netfors, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u043c \u044d\u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0433. \u0412\u0440\u0435\u043c\u044f \u0448\u043b\u043e \u0438 \u0432\u044b\u0448\u0435\u043b PJSIP \u0432 13 \u0432\u0435\u0440\u0441\u0438\u0438 Aterisk, \u0430 chan_ss7 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 1.8. \u0414\u0430 \u0438 \u043f\u0435\u0440\u0435\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437 \u0432 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c \u0433\u043e\u043b\u043e\u0441\u0435. \u041e\u043d\u0438 \u0441\u0430\u043c\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0438 \u0441\u0430\u043c\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438. <\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f \u0437\u0430\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u0438 \u043d\u0430\u0443\u0447\u0438\u043b\u0430\u0441\u044c sip \u0438 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Asterisk \u0434\u043e 16.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u0447\u0438\u0441\u0442\u044b\u0439 debian 10. \u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u0432\u0435\u0440\u0441\u0438\u044f 16.2.1, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432. \u041a\u0430\u0447\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 Asterisk 16, \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0431\u044b\u043b 16.12.0:<\/p>\n<pre><code class=\"bash\">cd \/usr\/src wget http:\/\/downloads.asterisk.org\/pub\/telephony\/asterisk\/asterisk-16-current.tar.gz <\/code><\/pre>\n<p>  \u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043d\u0435\u0435:<\/p>\n<pre><code class=\"bash\">tar xzvf asterisk-16-current.tar.gz cd asterisk-16.* <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 debian. \u041f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u0445 \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u0412\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/p>\n<pre><code class=\"bash\">contrib\/scripts\/install_prereq install <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043a\u0430\u0447\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 mp3, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 mp3 \u043c\u043e\u0434\u0443\u043b\u044f.<\/p>\n<pre><code class=\"bash\">contrib\/scripts\/get_mp3_source.sh <\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0441\u0431\u043e\u0440\u043a\u0435. <\/p>\n<pre><code class=\"bash\">.\/configure make menuselect <\/code><\/pre>\n<p>  \u041a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u044f \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<ul>\n<li>\u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 format_mp3.<\/li>\n<li>\u0412 Core Sound Packages \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u0437\u0432\u0443\u043a\u0438 RU-WAV.<\/li>\n<li>\u0412 Extras Sound Packages \u0432\u044b\u0431\u0438\u0440\u0430\u044e \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 EN-WAV, \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0435\u0442.<\/li>\n<\/ul>\n<p>  \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u043d\u0430 Save &#038; Exit. \u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c:<\/p>\n<pre><code class=\"bash\">.\/configure make <\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e checkinstall:<\/p>\n<pre><code class=\"bash\">checkinstall <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044e, \u0438\u043c\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u0442.\u0434. \u042f \u0438\u043c\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0438\u0448\u0443 asterisk-16, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043d\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u043b \u0441 \u0442\u0435\u043c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445.<\/p>\n<pre><code class=\"bash\">checkinstall <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Asterisk \u0438 \u0434\u0430\u0435\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043f\u0430\u043f\u043a\u0438:<\/p>\n<pre><code class=\"bash\">adduser --system --group --home \/var\/lib\/asterisk --no-create-home --gecos &quot;Asterisk&quot; asterisk usermod -a -G dialout,audio asterisk chown -R asterisk: \/var\/{lib,log,run,spool}\/asterisk \/usr\/lib\/asterisk \/etc\/asterisk <\/code><\/pre>\n<p>  \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c Asterisk \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 \/etc\/default\/asterisk \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<pre><code class=\"bash\">AST_USER=&quot;asterisk&quot; AST_GROUP=&quot;asterisk&quot; <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/asterisk\/modules.conf. \u0423\u0431\u0438\u0440\u0430\u0435\u043c \u043b\u0438\u0448\u043d\u0435\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"bash\">noload =&gt; chan_sip.so <\/code><\/pre>\n<p>  \u0421\u0442\u0430\u0440\u0442\u0443\u0435\u043c asterisk \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u043d\u0435\u0442 \u043e\u0448\u0438\u0431\u043e\u043a:<\/p>\n<pre><code class=\"bash\">asterisk -cvvv <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">systemctl enable asterisk systemctl start asterisk <\/code><\/pre>\n<p>  \u041d\u0430 \u044d\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435.<\/p>\n<p>  \u0412 PJSIP \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f. \u0415\u0441\u0442\u044c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0432 \u043f\u0430\u043f\u043a\u0435 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 contrib\/scripts\/sip_to_pjsip\/sip_to_pjsip.py, \u043d\u043e \u0444\u043e\u0440\u043c\u0430\u0442 \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 aor, identify \u0438 \u0442.\u0434. \u043d\u0435 \u0443\u0434\u043e\u0431\u0435\u043d \u0438 \u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d \u0432\u044b\u0445\u043e\u0434 \u0441 pjsip_wizard. \u041d\u0430\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c transport \u0432 \/etc\/asterisk\/pjsip.conf \u0434\u043e\u0431\u0430\u0432\u0438\u043c:<\/p>\n<pre><code class=\"bash\">[transport-udp] type = transport protocol = udp bind = x.x.x.x external_media_address = x.x.x.x external_signaling_address = x.x.x.x <\/code><\/pre>\n<p>  \u041c\u0435\u043d\u044f\u0435\u0442\u0435 x.x.x.x \u043d\u0430 IP \u0430\u0434\u0440\u0435\u0441 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u043b\u0443\u0448\u0430\u0442\u044c.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/p>\n<pre><code class=\"bash\">[main-template](!) type=wizard transport=transport-udp accepts_auth = yes accepts_registrations = yes aor\/qualify_frequency = 100 aor\/max_contacts = 1 aor\/remove_existing = yes inbound_auth\/auth_type = userpass endpoint\/disallow = all endpoint\/allow = alaw endpoint\/dtmf_mode = rfc4733 endpoint\/deny = 0.0.0.0\/0 endpoint\/context = city_out endpoint\/direct_media = no endpoint\/device_state_busy_at = 1 endpoint\/language = ru endpoint\/sdp_session = MySDp <\/code><\/pre>\n<p>  \u0418 \u0442\u043e\u0433\u0434\u0430 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433:<\/p>\n<pre><code class=\"bash\">[100](main-template) endpoint\/permit=192.168.100.1 inbound_auth\/username=100 inbound_auth\/password=P@$$Word123 endpoint\/callerid='' &lt;100&gt; <\/code><\/pre>\n<p>  \u0410 \u044d\u0442\u043e \u0443\u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0444\u043e\u0440\u043c\u0430\u0442 chan_sip, \u0438 \u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0437\u0430\u043c\u0435\u043d\u043e\u0439 \u0441\u043b\u043e\u0432.<\/p>\n<p>  \u0414\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0437\u0430 \u043d\u0430\u0442\u043e\u043c \u0432\u043c\u0435\u0441\u0442\u043e nat=yes \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043e\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u043e\u043a:<\/p>\n<pre><code class=\"bash\">endpoint\/rtp_symmetric=yes endpoint\/force_rport=yes endpoint\/rewrite_contact=yes <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f pjsip \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u0441 chan_sip, \u0442.\u0435. \u043e\u0434\u0438\u043d \u043f\u0438\u0440 \u043e\u0434\u043d\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u0438\u043d\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u044e\u0442 \u0437\u0430\u0447\u0435\u043c \u0442\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u0441 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 \u043f\u0440\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u0438 \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e\u0442 \u0431\u0430\u0433.<\/p>\n<pre><code class=\"bash\">aor\/max_contacts = 1 aor\/remove_existing = yes <\/code><\/pre>\n<p>  \u041e\u0434\u043d\u0430 \u0438\u0437 \u0444\u0438\u0448\u0435\u043a PJSIP \u044d\u0442\u043e \u043c\u043d\u043e\u0434\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0432 chan_sip. \u041c\u0435\u043d\u044f\u0435\u043c aor\/max_contacts \u043d\u0430 \u043d\u0443\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0432 \u0434\u0438\u0430\u043b\u043f\u043b\u0430\u043d\u0435 \u0437\u0432\u043e\u043d\u0438\u043c:<\/p>\n<pre><code class=\"bash\">exten =&gt; _XXX,1,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})}) <\/code><\/pre>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u0442\u0430\u043b\u043e \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u043f\u043e \u0438\u043c\u0435\u043d\u0438, \u0430 \u043d\u0435 \u0446\u0438\u0444\u0440\u0430\u043c\u0438 \u043a\u0430\u043a \u0440\u0430\u043d\u044c\u0448\u0435:<\/p>\n<pre><code class=\"bash\">endpoint\/named_call_group = aveks endpoint\/named_pickup_group = aveks <\/code><\/pre>\n<p>  \u0412 \u0441\u0442\u0430\u0440\u043e\u043c chan_sip \u0431\u044b\u043b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 call-limit, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u043f\u0438\u0440\u0443. \u0412 \u043d\u043e\u0432\u043e\u043c chan_pjsip \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435\u0442, \u0432\u043e \u0432\u0441\u0435\u0445 \u0447\u0430\u0442\u0430\u0445 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u044b \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0443 GROUP. \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0433\u0434\u0435 \u0432 \u043c\u0430\u043d\u0443\u0430\u043b\u0430\u0445 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 endpoint\/device_state_busy_at \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 extensions.conf \u0432\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/p>\n<pre><code class=\"bash\">exten =&gt; _X.,1,GoSub(subDeviceBusy,s,1(${EXTEN},${CALLERID(num)})) [subDeviceBusy] exten =&gt; s,1,NoOp(PJSIP\/${ARG1} has state ${DEVICE_STATE(PJSIP\/${ARG1})}) exten =&gt; s,n,NoOp(CallerId is ${ARG2}) exten =&gt; s,n,ExecIf($[&quot;${DEVICE_STATE(PJSIP\/${ARG1})}&quot; = &quot;BUSY&quot;]?Hangup(17)) exten =&gt; s,n,Return <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043b\u0438\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 Asterisk:<\/p>\n<pre><code class=\"bash\">pjsip show endpoint 100 Endpoint:  100\/100                                      Not in use    0 of 1      InAuth:  100-iauth\/100         Aor:  100                                            3       Contact:  100\/sip:100@192.168.0.10:5062       c34b4c2d4d Avail         7.981   Transport:  transport-udp             udp      0      0  192.168.0.1:5060 <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c 0 of 1 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u0438\u0439 \u0437\u0430\u043d\u044f\u0442\u043e \u0438\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445.<\/p>\n<p>  \u0412 16 Asterisk \u043c\u0430\u043a\u0440\u043e\u0441\u044b \u0441\u0442\u0430\u043b\u0438 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c\u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 Gosub.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0437\u0432\u043e\u043d\u043a\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u0437\u0432\u043e\u043d\u044f\u0449\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 INVITE \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a Diversion \u043f\u0440\u0438 \u0437\u0432\u043e\u043d\u043a\u0435:<\/p>\n<pre><code class=\"bash\">exten =&gt; 2222222,n,Dial(PJSIP\/8XXXXXXXXXX@trunk,,tTb(add_diversion^${EXTEN}^1) [add_diversion] exten =&gt; _XXXXXXX,1,Set(PJSIP_HEADER(add,Diversion)=&lt;sip:XXX${EXTEN}@x.x.x.x&gt;\\;reason=unconditional\\;screen=yes\\;privacy=off) exten =&gt; _XXXXXXX,n,Return() <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c 2222222 \u0433\u043e\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0441\u0430\u0446\u0438\u044f, 8XXXXXXXXXX \u043d\u043e\u043c\u0435\u0440 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0438 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u0434 \u0433\u043e\u0440\u043e\u0434\u0430 \u0432\u043c\u0435\u0441\u0442\u043e XXX sip:XXX${EXTEN}@x.x.x.x&gt;<\/p>\n<p>  \u0421 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u0435\u0439 \u043e\u0441\u043e\u0431\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e, \u043c\u0435\u043d\u044f\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e members c SIP \u043d\u0430 PJSIP.<\/p>\n<p>  \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 <br \/>  <a href=\"https:\/\/wiki.asterisk.org\/wiki\/display\/AST\/Asterisk+16+Configuration_res_pjsip_config_wizard#Asterisk16Configuration_res_pjsip_config_wizard-wizard_accepts_auth\">pjsip_wizard.conf<\/a><br \/>  <a href=\"https:\/\/wiki.asterisk.org\/wiki\/display\/AST\/Asterisk+16+Configuration_res_pjsip\">pjsip.conf<\/a><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/525084\/\"> https:\/\/habr.com\/ru\/post\/525084\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u041b\u0435\u0442 10 \u043d\u0430\u0437\u0430\u0434 \u0443 \u043d\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0431\u044b\u043b\u0430 \u0441\u0442\u0430\u043d\u0446\u0438\u044f \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 sip \u0438 \u043f\u0435\u0440\u0432\u044b\u0439 Asterisk 1.6 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e PRI \u043f\u043e\u0442\u043e\u043a\u0430\u043c. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0439 \u0441 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043d\u043e\u043c\u0435\u0440\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u043c\u0438 \u0438 \u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d chan_ss7 \u043e\u0442 netfors, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u043c \u044d\u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0433. \u0412\u0440\u0435\u043c\u044f \u0448\u043b\u043e \u0438 \u0432\u044b\u0448\u0435\u043b PJSIP \u0432 13 \u0432\u0435\u0440\u0441\u0438\u0438 Aterisk, \u0430 chan_ss7 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 1.8. \u0414\u0430 \u0438 \u043f\u0435\u0440\u0435\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437 \u0432 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c \u0433\u043e\u043b\u043e\u0441\u0435. \u041e\u043d\u0438 \u0441\u0430\u043c\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0438 \u0441\u0430\u043c\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438. <\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f \u0437\u0430\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u0438 \u043d\u0430\u0443\u0447\u0438\u043b\u0430\u0441\u044c sip \u0438 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Asterisk \u0434\u043e 16.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-312043","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=312043"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312043\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}