web-soft-phone
web-soft-phone
Откуда: Нижний Новгород
Сообщений: 277
|
Re: web-soft-phone
Глянул на red5phone - отличное решение - будет работать на ура если все толково сделано - ну и RTMP успешно обходит всякие NAT'ы.
Я когда-то делал все тоже самое - тот-же red5 сервер, тот-же RTMP между клиентом и сервером только сервер работал напрямую с астериском через AMI для singalling'а и UDP для голоса в PCM через собственный канальный модуль. А то как-то прикручивать SIP с RTP к red5 не хотелось :-)
|
Откуда: Izhevsk
Сообщений: 89
|
Re: web-soft-phone
Да вот че то я попробовал установить Red5 plugin, вроде как встал, на тестовую страницу захожу, там пишет что все ок, но на практике не работает ни фига, хотя когда жмешь Login, то пишет что succeful но ни че не происходит, может че то не так делаю...
dimas,simax поделитесь секретом, пожалста...очень очень прошу...
вот нашел еще интересную ссылочку
http://www.doddlephone.com/
вообще ни че устанавливать не надо, просто на своем сайте ссылочку выкладываешь и звонишь, это у меня работает.
Хотя все таки хочется red5 завести, но че то у меня с первого пинка не получилось, sparkweb также сволочь не звонит, пишет что нет регистрации по сипу...
Простой spark при этом нормуль звонит...
|
Откуда: Izhevsk
Сообщений: 89
|
Re: web-soft-phone
Хотя похоже мы маленько про разное, я пытался прикрутить red5plugin для openfire... ладно попробуем просто red5
|
Откуда: Izhevsk
Сообщений: 89
|
Re: web-soft-phone
Плюнул на попытки установить плагин RED5, на openfire, поставил сервер red5, установил webapps red5phone, запустил, зашел, на выбор 3 телефона.
Как то на мои попытки отреагировал только Flex Phone, прописал все нужные поля при попытке зарегится кидает какие то непонятные пакетики в сторону астериска при этом в логах пишет:
SIPUser Constructor: sip port 5075 rtp port:3005
SIPUser login
SipUserAgent - initSessionDescriptor -> Init...
SdpUtils - createInitialSdp -> Init...
SdpUtils - createInitialSdp -> userName = [test_test2], viaAddress = [127.0.1.1], audioPort = [3005], videoPort = [21070], audioCodecsPrecedence = [8;18;0;111].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecsPrecedence = [8;18;0;111], initIndex = [0], finalIndex = [1].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [8].
SIPCodecFactory - getSIPAudioCodec -> Init...
SIPCodecFactory - getSIPAudioCodec -> codecId = [8].
SIPCodecFactory - getSIPAudioCodec -> codecId = [8], codecName = [PCMA].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [8], codecName = [PCMA].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecsIndex = [1], initIndex = [2], finalIndex = [4].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [18].
SIPCodecFactory - getSIPAudioCodec -> Init...
SIPCodecFactory - getSIPAudioCodec -> codecId = [18].
SIPCodecFactory - getSIPAudioCodec -> codecId = [18], codecName = [G729].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [18], codecName = [G729].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecsIndex = [2], initIndex = [5], finalIndex = [6].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [0].
SIPCodecFactory - getSIPAudioCodec -> Init...
SIPCodecFactory - getSIPAudioCodec -> codecId = [0].
SIPCodecFactory - getSIPAudioCodec -> codecId = [0], codecName = [PCMU].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [0], codecName = [PCMU].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecsIndex = [3], initIndex = [7], finalIndex = [10].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [111].
SIPCodecFactory - getSIPAudioCodec -> Init...
SIPCodecFactory - getSIPAudioCodec -> codecId = [111].
SIPCodecFactory - getSIPAudioCodec -> codecId = [111], codecName = [ILBC].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecId = [111], codecName = [ILBC].
SIPCodecFactory - getAvailableAudioCodecsWithPrecedence -> codecsIndex = [4], initIndex = [11], finalIndex = [-1].
SdpUtils - createInitialSdp -> Adding rtpmap for payload [8] with value = [8 PCMA/8000/1].
SdpUtils - createInitialSdp -> Audio codec has no especific media attributes.
SdpUtils - createInitialSdp -> Adding rtpmap for payload [18] with value = [18 G729/8000/1].
SdpUtils - createInitialSdp -> Adding 1 audio codec media attributes.
SdpUtils - createInitialSdp -> Adding audio media attribute [fmtp:18 annexb=no].
SdpUtils - parseAttributeField -> Init...
SdpUtils - parseAttributeField -> codecMediaAttribute = [fmtp:18 annexb=no].
SdpUtils - parseAttributeField -> attribName = [fmtp] attribValue = [18 annexb=no].
SdpUtils - parseAttributeField -> End...
SdpUtils - createInitialSdp -> Adding rtpmap for payload [0] with value = [0 PCMU/8000/1].
SdpUtils - createInitialSdp -> Audio codec has no especific media attributes.
SdpUtils - createInitialSdp -> Adding rtpmap for payload [111] with value = [111 ILBC/8000/1].
SdpUtils - createInitialSdp -> Adding 1 audio codec media attributes.
SdpUtils - createInitialSdp -> Adding audio media attribute [fmtp:111 mode=30].
SdpUtils - parseAttributeField -> Init...
SdpUtils - parseAttributeField -> codecMediaAttribute = [fmtp:111 mode=30].
SdpUtils - parseAttributeField -> attribName = [fmtp] attribValue = [111 mode=30].
SdpUtils - parseAttributeField -> End...
SdpUtils - getFormatList -> Init...
SdpUtils - getPayloadIdFromAttribute -> Init...
SdpUtils - getPayloadIdFromAttribute -> AttributeName = [rtpmap], AttributeValue = [8 PCMA/8000/1].
SdpUtils - isPayloadRelatedAttribute -> Init...
SdpUtils - isPayloadRelatedAttribute -> AttributeName = [rtpmap], AttributeValue = [8 PCMA/8000/1].
SdpUtils - isPayloadRelatedAttribute -> isPayloadAttribute = true
SdpUtils - isPayloadRelatedAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> payloadId = 8
SdpUtils - getPayloadIdFromAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> Init...
SdpUtils - getPayloadIdFromAttribute -> AttributeName = [rtpmap], AttributeValue = [18 G729/8000/1].
SdpUtils - isPayloadRelatedAttribute -> Init...
SdpUtils - isPayloadRelatedAttribute -> AttributeName = [rtpmap], AttributeValue = [18 G729/8000/1].
SdpUtils - isPayloadRelatedAttribute -> isPayloadAttribute = true
SdpUtils - isPayloadRelatedAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> payloadId = 18
SdpUtils - getPayloadIdFromAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> Init...
SdpUtils - getPayloadIdFromAttribute -> AttributeName = [rtpmap], AttributeValue = [0 PCMU/8000/1].
SdpUtils - isPayloadRelatedAttribute -> Init...
SdpUtils - isPayloadRelatedAttribute -> AttributeName = [rtpmap], AttributeValue = [0 PCMU/8000/1].
SdpUtils - isPayloadRelatedAttribute -> isPayloadAttribute = true
SdpUtils - isPayloadRelatedAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> payloadId = 0
SdpUtils - getPayloadIdFromAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> Init...
SdpUtils - getPayloadIdFromAttribute -> AttributeName = [rtpmap], AttributeValue = [111 ILBC/8000/1].
SdpUtils - isPayloadRelatedAttribute -> Init...
SdpUtils - isPayloadRelatedAttribute -> AttributeName = [rtpmap], AttributeValue = [111 ILBC/8000/1].
SdpUtils - isPayloadRelatedAttribute -> isPayloadAttribute = true
SdpUtils - isPayloadRelatedAttribute -> End...
SdpUtils - getPayloadIdFromAttribute -> payloadId = 111
SdpUtils - getPayloadIdFromAttribute -> End...
SdpUtils - getFormatList -> formatList = [8 18 0 111].
SdpUtils - getFormatList -> End...
SdpUtils - createInitialSdp -> Creating audio media descriptor.
SdpUtils - createInitialSdp -> Just adding attribute.
SdpUtils - createInitialSdp -> Just adding attribute.
SdpUtils - createInitialSdp -> Just adding attribute.
SdpUtils - createInitialSdp -> Just adding attribute.
SdpUtils - createInitialSdp -> Just adding attribute.
SdpUtils - createInitialSdp -> Adding 1 common audio media attributes.
SdpUtils - createInitialSdp -> Adding common audio media attribute [ptime:20].
SdpUtils - parseAttributeField -> Init...
SdpUtils - parseAttributeField -> codecMediaAttribute = [ptime:20].
SdpUtils - parseAttributeField -> attribName = [ptime] attribValue = [20].
SdpUtils - parseAttributeField -> End...
SdpUtils - createInitialSdp -> End...
SipUserAgent - initSessionDescriptor -> localSession = v=0
o=test_test2 0 0 IN IP4 127.0.1.1
s=Session SIP/SDP
c=IN IP4 127.0.1.1
t=0 0
m=audio 3005 RTP/AVP 8 18 0 111
a=rtpmap:8 PCMA/8000/1
a=rtpmap:18 G729/8000/1
a=fmtp:18 annexb=no
a=rtpmap:0 PCMU/8000/1
a=rtpmap:111 ILBC/8000/1
a=fmtp:111 mode=30
a=ptime:20
SipUserAgent - listen -> Init...
SIPUser register
RegisterAgent: Registering contact <sip:600502@127.0.1.1:5075> (it expires in 3600 secs)
RegisterAgent: Registration failure: No response from server.
SIP Registration failure Timeout
SIPUser close1
SIPUser hangup
SIPUser closeStreams
RTMPUser stopStream
SIPUser unregister
RegisterAgent: Unregistering contact <sip:600502@127.0.1.1:5075>
SipUserAgent - hangup -> Init...
SipUserAgent - closeMediaApplication -> Init...
SIPUser provider.halt
RegisterAgent: Registration failure: No response from server.
SIP Registration failure Timeout
RegisterAgent: Failed Registration stop try.
Какая я то ерунда думаю, почему в поле контакт стоит адрес 127.0.0.1
Посмотрел tshark какие пакетики приходят на астериск, и очень удивился:
Frame 5 (62 bytes on wire, 62 bytes captured)
Arrival Time: Jul 17, 2009 11:21:48.196186000
[Time delta from previous captured frame: 8.004480000 seconds]
[Time delta from previous displayed frame: 8.004480000 seconds]
[Time since reference or first frame: 1247811708.196186000 seconds]
Frame Number: 5
Frame Length: 62 bytes
Capture Length: 62 bytes
[Frame is marked: False]
[Protocols in frame: sll:ip:udp:data]
Linux cooked capture
Packet type: Unicast to us (0)
Link-layer address type: 1
Link-layer address length: 6
Source: 00:02:b3:c3:3d:e6 (00:02:b3:c3:3d:e6)
Protocol: IP (0x0800)
Trailer: 00000000000000000000000000000000
Internet Protocol, Src: 194.xx.xx.xx (194.xx.xx.xx), Dst: 193.xx.xx.xx (193.xx.xx.xx)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 30
Identification: 0x0000 (0)
Flags: 0x04 (Don't Fragment)
0... = Reserved bit: Not set
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 63
Protocol: UDP (0x11)
Header checksum: 0x9951 [correct]
[Good: True]
[Bad : False]
Source: 194.xx.xx.xx (194.xx.xx.xx)
Destination: 193.xx.xx.xx (193.xx.xx.xx)
User Datagram Protocol, Src Port: 5075 (5075), Dst Port: 5060 (5060)
Source port: 5075 (5075)
Destination port: 5060 (5060)
Length: 10
Checksum: 0x28bb [correct]
[Good Checksum: True]
[Bad Checksum: False]
Data (2 bytes)
0000 0d 0a
SIP протокол как таковой отсутствует...ерунда...
Не удивительно что не получается ни зарегится ни позвонить...
Толи каких то библиотек не хватает толи с API че то не то, можете что нить посоветовать?
|
Откуда: Izhevsk
Сообщений: 89
|
Re: web-soft-phone
Да и вот еще че пишет в sip.log
2009-07-17 11:57:12,002 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP Client connected 7 service RTMPMinaConnection from 194.xx.xx.xx : 45550 to (in: 3407 out 3073 )
2009-07-17 11:57:12,003 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP Client joined app 7
2009-07-17 11:57:12,077 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP open
2009-07-17 11:57:12,077 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP login BB50A8F8-A1A8-A37C-850D-875EDB3D3E33
2009-07-17 11:57:12,077 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP open creating sipUser for test_test2 on sip port 5076 audio port 3006 uid BB50A8F8-A1A8-A37C-850D-875EDB3D3E33
2009-07-17 11:57:12,077 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser Constructor: sip port 5076 rtp port:3006
2009-07-17 11:57:12,077 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser login
2009-07-17 11:57:12,089 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP register
2009-07-17 11:57:12,089 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser register
2009-07-17 11:57:44,095 [Thread-196] DEBUG org.red5.server.webapp.sip.SIPUser - SIP Registration failure Timeout
2009-07-17 11:57:44,106 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP Client leaving app 7
2009-07-17 11:57:44,106 [NioProcessor-1] INFO o.r.server.webapp.sip.Application - Red5SIP Client closing client BB50A8F8-A1A8-A37C-850D-875EDB3D3E33
2009-07-17 11:57:44,106 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser close1
2009-07-17 11:57:44,106 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser hangup
2009-07-17 11:57:44,106 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser closeStreams
2009-07-17 11:57:44,106 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser unregister
2009-07-17 11:57:47,111 [NioProcessor-1] DEBUG org.red5.server.webapp.sip.SIPUser - SIPUser provider.halt
2009-07-17 11:58:16,113 [Thread-208] DEBUG org.red5.server.webapp.sip.SIPUser - SIP Registration failure Timeout
|
Откуда: Нижний Новгород
Сообщений: 277
|
Re: web-soft-phone
Я не использовал red5phone - так что помочь не смогу
Я говорил что писал подобный плагин
|
Откуда: 00-1D-09-C7-73-99
Сообщений: 289
|
Re: web-soft-phone
Флеш программер вам нужен.
|
Откуда: Izhevsk
Сообщений: 89
|
Re: web-soft-phone
Да может и не нужен, вроде как готовое решение уже есть на базе Red5, только вот толи с руками че то толи просто приложение еще до ума не доведено. Сейчас у меня получилось установить его, и оно даже регистрируется на астериске, но почему-то после посылки INVITE, на ответ астериска 100 Trying, он послыает CANCEL, тут уже скорее всего какие то траблы в коде, а туда вот я залезть уже не смогу, т.к. с явой не дружу. В англоязычных форумах видел ветки с аналогичным траблом, тока вот ответ на них никто не дал че то...Так что остается либо копаться либо ждать новых версий...
P.S. Кстати там же было замечено что у виндовых пользователей таких проблем не наблюдается, а больше всего их на линуксовых дистрах...
|
Сообщений: 20
|
Re: web-soft-phone
http://www.mizu-voip.com/Products/WebPhone.aspx
у себя поставил - просто супер!!!!!!!
Качайте примеры, в главном примере просто меняйте адрес своего сервера! Логин и пароль в SIP.conf.
|
Сообщений: 20
|
Re: web-soft-phone
SoulDemon: http://www.mizu-voip.com/Products/WebPhone.aspx
у себя поставил - просто супер!!!!!!!
Качайте примеры, в главном примере просто меняйте адрес своего сервера! Логин и пароль в SIP.conf.
Блин, это дэмка оказалась, а 1 лицензия стоит 50 баксов =((( Максимальная продолжительность разговора 1:40, а через минут 10 регистрация слетает и он просит перезагрузить страницу.... Вопрос открытый =)
|
|