AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

И вновь Мультифон и Астериск

Newbies/FAQ Forum 12 сообщений 21.12.2010 18:59 - 30.10.2011 19:40
#1 21.12.2010 18:59

И вновь Мультифон и Астериск


Граждане, помогите, пожалуйста, победить исходящие через Мультифон.
Исходные данные:
транк
Code:
[multifon]
disallow=all
username=7926ххх
type=peer
transport=tcp
secret=
qualify=yes
nat=yes
insecure=invite,port
host=sbc.megafon.ru
fromuser=7926ххх
fromdomain=multifon.ru
dtmfmode=inband
context=all
allow=g729,ulaw

телефон
Code:
[900]
deny=0.0.0.0/0.0.0.0
secret=ххх
dtmfmode=rfc2833
canreinvite=no
context=all
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
callgroup=
pickupgroup=
dial=SIP/900
mailbox=900@device
permit=0.0.0.0/0.0.0.0
callerid=device
callcounter=yes
faxdetect=no


registry

Code:
register=7926xxx@multifon.ru:xxx:7926xxx@sbc.megafon.ru/7926xxx

Code:
Host dnsmgr Username Refresh State Reg.Time
sbc.megafon.ru:5060 N 7926xxx@ 3585 Registered Tue, 21 Dec 2010 20:32:52

debug
Code:
SIP Debugging Enabled for IP: 193.201.229.35:5060
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [+7926xxx@all:1] Macro("SIP/900-00000053", "user-callerid,SKIPTTL,") in new stack
..
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/900-00000053", "SIP/multifon/7926xxx,300,rtT") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
Audio is at 87.228.70.158 port 19202
Adding codec 0x4 (ulaw) to SDP
Reliably Transmitting (NAT) to 193.201.229.35:5060:
INVITE sip:7926xxx@sbc.megafon.ru SIP/2.0
Via: SIP/2.0/TCP 87.228.70.158:5060;branch=z9hG4bK59ce5aff;rport
Max-Forwards: 70
From: "from_multifon" ;tag=as44d5e1f9
To:
Contact:
Call-ID: 2b7323893488707869dc8de6288f12e9@multifon.ru
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.2.7-1ubuntu1
Date: Tue, 21 Dec 2010 17:20:38 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 216

v=0
o=root 479685416 479685416 IN IP4 87.228.70.158
s=Asterisk PBX 1.6.2.7-1ubuntu1
c=IN IP4 87.228.70.158
t=0 0
m=audio 19202 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

---
-- Called multifon/7926xxx
loox*CLI>

SIP/2.0 100 Trying
Via: SIP/2.0/TCP 87.228.70.158:5060;received=87.228.70.158;branch=z9hG4bK59ce5aff;rport=34033
From: "from_multifon" ;tag=as44d5e1f9
To:
Call-ID: 2b7323893488707869dc8de6288f12e9@multifon.ru
CSeq: 102 INVITE
Content-Length: 0



--- (7 headers 0 lines) ---
loox*CLI>

SIP/2.0 403 Forbidden
Via: SIP/2.0/TCP 87.228.70.158:5060;received=87.228.70.158;branch=z9hG4bK59ce5aff;rport=34033
From: "from_multifon" ;tag=as44d5e1f9
To: ;tag=aprqngfrt-hvpp0820000c6
Call-ID: 2b7323893488707869dc8de6288f12e9@multifon.ru
CSeq: 102 INVITE
Reason: Q.850;cause=55;text="Call Terminated"
Content-Length: 0



--- (8 headers 0 lines) ---
Transmitting (NAT) to 193.201.229.35:5060:
ACK sip:7926xxx@sbc.megafon.ru SIP/2.0
Via: SIP/2.0/TCP 87.228.70.158:5060;branch=z9hG4bK59ce5aff;rport
Max-Forwards: 70
From: "from_multifon" ;tag=as44d5e1f9
To: ;tag=aprqngfrt-hvpp0820000c6
Contact:
Call-ID: 2b7323893488707869dc8de6288f12e9@multifon.ru
CSeq: 102 ACK
User-Agent: Asterisk PBX 1.6.2.7-1ubuntu1
Content-Length: 0


---
-- SIP/multifon-00000054 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
...
== Spawn extension (all, h, 1) exited non-zero on 'SIP/900-00000053'
loox*CLI> sip set debug off


Я вижу, что
Code:
SIP/2.0 403 Forbidden

Но не могу понять, что поправить, вероятно где-то банально недосмотрел.
Чего ему (Мультифону/Астериску) не хватает?

Спасибо.

UPD. Хост/локалнет есть:
Code:
nat=yes
externhost=psychov.no-ip.org
localnet=192.168.1.0/255.255.255.0

Транспорт пробовал, как UDP, так и TCP.
#2 22.12.2010 15:58

Quote:
Чего ему (Мультифону/Астериску) не хватает?

Пишет, что не собирается обслуживать этот вызов. Также пишет, что:
Code:
Reason: Q.850;cause=55;text="Call Terminated"

А если связаться с супортом мегафона? Shocked
#3 22.12.2010 16:15

Сел, еще сутки покурил ман и книжки.
Итоговая конфигурация:
Code:
type=friend
host=sbc.megafon.ru
username=7926ххх
secret=ххх
insecure=invite
fromdomain=multifon.ru
fromuser=7926ххх
disallow=all
allow=g729,ulaw
qualify=yes
transport=tcp
nat=yes
dtmfmode=inband
context=from-trunk
canreinvite=no


И самое главное:
tcp://7926ххх@multifon.ru:ххх: 7926ххх@sbc.megafon.ru/7926ххх
за что громадное спасибо и симпа Алексу http://alexkuklin.livejournal.com.
#4 27.06.2011 17:11

у меня всё уже несколько месяцев так стоит и прекрасно работает (входящие и исходящие):
Code:
register => 79301234567@multifon.ru:password:79301234567@sbc.megafon.ru:5060/79301234567

[megafon]
insecure=port,invite
type=peer
tos=0x18
dtmfmode=inband
relaxdtmf=yes
username=79301234567
secret=password
host=sbc.megafon.ru
fromuser=79301234567
fromdomain=multifon.ru
#5 16.08.2011 15:41

А кто нибудь мне может объяснить что с этим делать?


регистрация не проходит, может кто подскажет где копать?
астериск 1.4 (эластикс)

register=79214468481@multifon.ru:XXX:79214468481@sbc.megafon.ru:5060/79214468481


username=79214468481
fromuser=79214468481
type=peer
secret=ххх
qualify=yes
nat=yes
insecure=port,invite
host=sbc.megafon.ru
fromdomain=multifon.ru
port=5060
context=multifon
canreinvite=yes
dtmfmode=inband
allow=all

смотрим дебаг!!!!

REGISTER 12 headers, 0 lines
Reliably Transmitting (NAT) to 193.201.229.35:5060:
REGISTER sip:ultifon.ru SIP/2.0 ---------------- ОТКУДА ЭТО????? почему sip:ultifon а не sip:multfon ???------------
Via: SIP/2.0/UDP x.x.x.x:8765;branch=z9hG4bK0de7870f;rport
From: ;tag=as05528e3f
To:
Call-ID: 766575c12ea2e75e7567a73a705078ba@216.207.245.33
CSeq: 102 REGISTER
User-Agent: "Planet VIP-156"
Max-Forwards: 70
Expires: 120
Contact:
Event: registration
Content-Length: 0


---
asterisk*CLI>

SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP xxxx:8765;received=x.x.x.x;branch=z9hG4bK0de7870f;rport=8765
From: ;tag=as05528e3f
To: ;tag=039832463135364110BCF300
Call-ID: 766575c12ea2e75e7567a73a705078ba@216.207.245.33
CSeq: 102 REGISTER
Content-Length: 0



SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP x.x.x.x:8765;received=x.x.x.x;branch=z9hG4bK146cb612;rport=8765
From: "Unknown" ;tag=as5520eaa5
To: ;tag=aprqngfrt-kqfsor00000c6
Call-ID: 51d3449659fa1dcb520b12b63653f3b1@x.x.x.x
CSeq: 102 OPTIONS
Reason: Q.850;cause=55;text="Call Terminated"

q.850 ошибка 55 означает что я не в группе нужных пользователей у провайдера.
т.е. я так понимаю не прошла авторизация
http://www.vegaassist.com/download/docs/ ... des_10.pdf

3-ий день воюю, не могу понять в чем проблемы.
#6 21.08.2011 11:04

Мой рабочий конфиг

Code:
[general]
79XXXXXXXXX:@multifon.ru:5060/79XXXXXXXXX


Code:
[79XXXXXXXXX]
defaultuser=79XXXXXXXXX
fromuser=79XXXXXXXXX
host=multifon.ru
fromdomain=multifon.ru
type=peer
insecure=invite
dtmfmode=inband
disallow=all
allow=alaw
nat=yes
secret=


запрос что бы звонки принимались и на sip , и на GSM
Code:
https://sm.megafon.ru/sm/client/routing/set?login=79XXXXXXXXX@multifon.ru&password=***&routing=2


работает 100% ставил не однократно.

делал как написано на Оф сайте .. полное фуфло и не рабочие...
http://www.multifon.ru/help/

_________________
Gentoo, Asterisk 1.8.5, GSM
#7 21.08.2011 12:00

Качество как, кстати?

Added after 33 minutes:

Сам попробовал на своем телефоне - качество хорошее!
Интересно, а у других операторов нечто подобное есть?

_________________
Внимание! Свет в конце тоннеля может быть светом фар приближающегося поезда!
Ubuntu 10.04/10.10 - Asterisk 1.6.2.20
#8 21.08.2011 17:22

У меня тоже качество отличное. У меня тоже примерно такой конфиг.
Прикольная штука: Друзья моей жены звонят типа по месту, а попадают ко мне сюда в Баварию и всё абсолютно бесплатно и без какихто роумингов.
А пакет "Безлимитный Мультифон" позволяет звонить отсюда в Россию (на megafon_ural) почти на халяву (100 руб. в месяц за 2000 минут).
Вот как сделать так, чтобы астериск знал сколько из этих 2000 минут осталось?
Или кто-нибудь знает как заходить в сервис-гид не набирая captcha?
У других операторов к сожалению такого нету Crying or Very sad
#9 21.08.2011 22:05

Quote:
Вот как сделать так, чтобы астериск знал сколько из этих 2000 минут осталось?


У меня стоит + к мультифону GSM модем (на всякий вдруг инет упадет), можно послать USSD запрос о балансе ну и соответственно на ответ сделать скрипт
А второй вариант в базе вести статистику и при достижении, с транка мегафона, определенного кол-во минут вырубать его ну или ченить проигрывать.

_________________
Gentoo, Asterisk 1.8.5, GSM
#10 16.09.2011 16:53

Я тоже решил сделать как ты. Поставил chan_dongle и вписал в extensions.conf пару строк, которые вписывают в AstDB другого Астериска остаток минут:
Code:

exten => ussd,1,NoOp(${SHELL(echo -n '${BASE64_DECODE(${USSD_BASE64})}' | iconv -f utf-8 -t koi8-ru):0:-1})
exten => ussd,n,Set(REST=${CUT(SHELL(echo -n '${BASE64_DECODE(${USSD_BASE64})}' | iconv -f utf-8 -t koi8-ru),:,1):50})
exten => ussd,n,ExecIF($[0${REST} > 99]?System(ssh -f -y -i /root/.ssh/id_rsa root@123.45.67.89 'asterisk -rx "database put megafon +79123456789 ${REST}:${EPOCH}"'))
exten => ussd,n,Hangup()

И чтобы модем не стоял только для этого, я вписал ещё одну фишку: приходит смс с просьбой о перезвоне, идёт callback Very Happy
Code:

exten => sms,1,GoSubIf($["${SHELL(echo '${BASE64_DECODE(${SMS_BASE64})}' | iconv -f utf-8 -t koi8-ru):8:2}"="+7"]?sms-callback,s,1)

[sms-callback]
exten => s,1,Set(NUMBER=${FILTER(0123456789,${SHELL(echo '${BASE64_DECODE(${SMS_BASE64})}' | iconv -f utf-8 -t koi8-ru):8:15})})
exten => s,n,ExecIf($[${DB_EXISTS(sms-callback/+${NUMBER})}]?Dial(callback...${NUMBER}))
#11 30.10.2011 10:18

Коллеги! А у МТС и Билайна нет ли подобной услуги и если нет, никто не слышал, не собираются ли вводить?
_________________
Внимание! Свет в конце тоннеля может быть светом фар приближающегося поезда!
Ubuntu 10.04/10.10 - Asterisk 1.6.2.20
#12 30.10.2011 19:40

Поскольку я знаю нет и вводить не собираются.