Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / TrixBox, Elastix, FreePbx / h323 OLC master/slave mismatch

h323 OLC master/slave mismatch

проблема с звонком на транк по протоколу h323
Откуда: Moscow
Сообщений: 227

Re: h323 OLC master/slave mismatch

-- Requested transfer capability: 0x00 - SPEECH
-- Making call to 3000@10.1.99.3:1720 without gatekeeper.
Using 10.1.2.2 for outbound call
3:19:28.832 ThreadID=0x01a1db90 h323ep.cxx(1583) H323 Making call to: 3000@10.1.99.3:1720
arsip*CL== New H.323 Connection created.
arsip*CL-- asterisk is calling host 3000@10.1.99.3:1720
arsip*CL-- Call token is ip$localhost/11183
-- Call reference is 11183
-- DTMF Payload is [pt=101]
-- Called 3000@Avaya
3:19:29.085 H225 Caller:9e8de38 transports.cxx(1559) H323TCP Started connection: host=10.1.99.3:1720, if=10.1.2.2:47864, handle=44
Setting capabilities to 0x8 (alaw)
Capabilities in preference order is (alaw)
Allowed Codecs:
arsip*CL Table:
G.711-ALaw-64k <1>
UserInput/hookflash <2>
UserInput/basicString <3>
Set:*CLI>
0:*CLI>
0:LI>
G.711-ALaw-64k <1>
1:LI>
UserInput/hookflash <2>
2:LI>
UserInput/basicString <3>

3:19:29.087 H225 Caller:9e8de38 h323.cxx(4445) H245 Default OnSelectLogicalChannels, FastStartInitiate
-- Sending SETUP message
3:19:29.089 H225 Caller:9e8de38 h323.cxx(1816) H225 Reading PDUs: callRef=11183
3:19:29.101 H225 Caller:9e8de38 h323.cxx(2393) H225 Set remote party name: "3000"
3:19:29.102 H225 Caller:9e8de38 h323.cxx(2401) H225 Set remote application name: "Avaya Multivantage R015x.02.0.947.3 181/19540"
3:19:29.162 H225 Caller:9e8de38 h323.cxx(2393) H225 Set remote party name: "3000"
3:19:29.162 H225 Caller:9e8de38 h323.cxx(2401) H225 Set remote application name: "Avaya Multivantage R015x.02.0.947.3 181/19540"
arsip*CL-- Started logical channel: sending G.711-ALaw-64k
arsip*CLI> -- channelsOpen = 1
arsip*CLI> External RTP Session Starting
arsip*CLI> RTP channel id 1 parameters:
-- remoteIpAddress: 10.1.99.4
-- remotePort: 2068
-- ExternalIpAddress: 10.1.2.2
-- ExternalPort: 15902
arsip*CL-- Started logical channel: receiving G.711-ALaw-64k
arsip*CLI> -- channelsOpen = 2
External RTP Session Starting
RTP channel id 1 parameters:
-- remoteIpAddress: 10.1.99.4
-- remotePort: 2068
-- ExternalIpAddress: 10.1.2.2
arsip*CLI> -- ExternalPort: 15902
3:19:29.165 H225 Caller:9e8de38 h323.cxx(3472) H225 Fast starting 2 channels
arsip*CL=-= In OnAlerting for call 11183: sessionId=0
arsip*CL-- Ringing phone for "3000"
arsip*CLI> - Progress Indicator: 8
-- H323/Avaya-12 is making progress passing it to IAX2/7880-4267
-- H323/Avaya-12 is ringing
3:19:29.219 H225 Caller:9e8de38 h323.cxx(2393) H225 Set remote party name: "3000"
3:19:29.219 H225 Caller:9e8de38 h323.cxx(2401) H225 Set remote application name: "Avaya Multivantage R015x.02.0.947.3 181/19540"
3:19:29.220 H225 Caller:9e8de38 h323ep.cxx(2411) H225 Received connect PDU.
Using 10.1.2.2 for outbound H.245 transport
3:19:29.220 H225 Caller:9e8de38 transports.cxx(1559) H323TCP Started connection: host=10.1.99.3:59023, if=10.1.2.2:59186, handle=47
3:19:29.221 H225 Caller:9e8de38 h323.cxx(3592) H245 Started control channel
3:19:29.221 H245:9f03ba0 h323.cxx(3592) H245 Started control channel
arsip*CL=-= In OnConnectionEstablished for call 11183
arsip*CLI> -- Connection Established with "3000"
-- H323/Avaya-12 answered IAX2/7880-4267
Peer capability is G.711-ALaw-64k <1>
Found peer capability G.711-ALaw-64k <1>, Asterisk code is 8, frame size (in ms) is 20
Peer capability is UserInput/dtmf <4>
Peer capabilities = 0x8 (alaw), ordered list is (alaw)
3:19:29.323 H245:9f03ba0 h323neg.cxx(386) H245 MasterSlaveDetermination: local is slave
3:19:29.324 H245:9f03ba0 h323neg.cxx(643) H245 TerminalCapabilitySet Sent.
Peer capability is G.711-ALaw-64k <1>
Found peer capability G.711-ALaw-64k <1>, Asterisk code is 8, frame size (in ms) is 20
Peer capability is UserInput/dtmf <4>
Peer capabilities = 0x8 (alaw), ordered list is (alaw)
channelsOpen = 1
3:19:29.542 H245:9f03ba0 h323ep.cxx(2509) H323 Stopped receiving logical channel: G.711-ALaw-64k <1>
arsip*CLExternalRTPChannel Destroyed
arsip*CLI> channelsOpen = 0
3:19:29.560 H245:9f03ba0 h323ep.cxx(2509) H323 Stopped sending logical channel: G.711-ALaw-64k <1>
arsip*CLExternalRTPChannel Destroyed
Peer capability is G.711-ALaw-64k <1>
Found peer capability G.711-ALaw-64k <1>, Asterisk code is 8, frame size (in ms) is 20
Peer capability is UserInput/dtmf <3>
Peer capabilities = 0x8 (alaw), ordered list is (alaw)
3:19:29.603 H245:9f03ba0 h323.cxx(4445) H245 Default OnSelectLogicalChannels, FastStartAcknowledged
-- Started logical channel: sending G.711-ALaw-64k
arsip*CLI> -- channelsOpen = 1
=-= In OnConnectionEstablished for call 11183
-- Connection Established with "3000"
3:19:29.604 H245:9f03ba0 h323neg.cxx(386) H245 MasterSlaveDetermination: local is slave
3:19:29.620 H245:9f03ba0 h323neg.cxx(643) H245 TerminalCapabilitySet Sent.
3:19:29.660 H245:9f03ba0 h323.cxx(4607) H323 Logical channel T-102 conflict on session 1, codec: G.711-ALaw-64k <1>
3:19:29.660 H245:9f03ba0 h323.cxx(4628) H323 Could not resolve conflict, no reverse channel.
arsip*CLI> channelsOpen = 0
3:19:29.661 H245:9f03ba0 h323ep.cxx(2509) H323 Stopped sending logical channel: G.711-ALaw-64k <1>
arsip*CLExternalRTPChannel Destroyed
3:19:29.662 H245:9f03ba0 channels.cxx(969) H323RTP Sending open logical channel ACK: sessionID=1
arsip*CL-- Started logical channel: receiving G.711-ALaw-64k
arsip*CLI> -- channelsOpen = 1
External RTP Session Starting
RTP channel id 1 parameters:
-- remoteIpAddress: 10.1.99.2
-- remotePort: 8000
-- ExternalIpAddress: 10.1.2.2
arsip*CLI> -- ExternalPort: 15902
3:19:30.983 ThreadID=0x01a1db90 h323.cxx(1647) H225 Sending release complete PDU: callRef=11183
arsip*CL-- Sending RELEASE COMPLETE
arsip*CL-- ClearCall: Request to clear call with token ip$localhost/11183, cause EndedByRemoteUser
== Spawn extension (local-mobile, 3000, 2) exited non-zero on 'IAX2/7880-4267'
-- Hungup 'IAX2/7880-4267'
arsip*CLI> channelsOpen = 0
3:19:30.986 H323 Cleaner h323ep.cxx(2509) H323 Stopped receiving logical channel: G.711-ALaw-64k <1>
ExternalRTPChannel Destroyed
3:19:30.995 H245:9f03ba0 h323.cxx(3667) H245 Control channel closed.
3:19:30.996 H225 Caller:9e8de38 h323pdu.cxx(1297) H225 Read error (4): Interrupted system call
-- ClearCall: Request to clear call with token ip$localhost/11183, cause EndedByTransportFail
3:19:30.996 H225 Caller:9e8de38 h323.cxx(1866) H225 Signal channel closed.
3:19:30.997 H323 Cleaner h323.cxx(1757) H323 Connection ip$localhost/11183 terminated.
-- 3000 has cleared the call
== H.323 Connection deleted.
2009-10-09 13:21

Откуда: Moscow
Сообщений: 227

Re: h323 OLC master/slave mismatch

если еще глубже , то мне форум жалко.
2009-10-09 13:21

Сообщений: 1129

Re: h323 OLC master/slave mismatch

все не надо
вот этот момент поподробнее и чуть выше и ниже если там что то будет интересное
3:19:29.323 H245:9f03ba0 h323neg.cxx(386) H245 MasterSlaveDetermination: local is slave
3:19:29.324 H245:9f03ba0 h323neg.cxx(643) H245 TerminalCapabilitySet Sent.


ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2009-10-09 13:36

Сообщений: 6521

Re: h323 OLC master/slave mismatch

vlego:

Если гейткипер в данном случае поможет, то подскажите пож-та ресурс , которым лучше всего воспользоваться.
Ресурс - ddkprog@ :)
2009-10-09 13:40

Сообщений: 1129

Re: h323 OLC master/slave mismatch

вру
давайте весь лог
с глубоким дебагом
и скажите какой у вас bindaddr = стоит в конфиге
и с какого айпи приходит сигналинг
ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2009-10-09 13:42

Сообщений: 1129

Re: h323 OLC master/slave mismatch

3:19:29.604 H245:9f03ba0 h323neg.cxx(386) H245 MasterSlaveDetermination: local is slave
3:19:29.620 H245:9f03ba0 h323neg.cxx(643) H245 TerminalCapabilitySet Sent.
3:19:29.660 H245:9f03ba0 h323.cxx(4607) H323 Logical channel T-102 conflict on session 1, codec: G.711-ALaw-64k <1>
3:19:29.660 H245:9f03ba0 h323.cxx(4628) H323 Could not resolve conflict, no reverse channel.
судя по этому, оба и астериск и авая слейвы
нужен второй логикал ченел который открывает мастер
вот и уходят в разрыв
ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2009-10-09 13:51

Откуда: Moscow
Сообщений: 227

Re: h323 OLC master/slave mismatch

; The NuFone Network's
; Open H.323 driver configuration
;
[general]
port = 1720
bindaddr = 10.1.2.2 ; this SHALL contain a single, valid IP address for this machine
;tos=lowdelay
;
; You may specify a global default AMA flag for iaxtel calls. It must be
; one of 'default', 'omit', 'billing', or 'documentation'. These flags
; are used in the generation of call detail records.
;
;amaflags = default
;
; You may specify a default account for Call Detail Records in addition
; to specifying on a per-user basis
;
;accountcode=lss0101
;
; You can fine tune codecs here using "allow" and "disallow" clauses
; with specific codecs. Use "all" to represent all formats.
;
disallow=all
allow=alaw ; see doc/rtp-packetization for framing options
;
; User-Input Mode (DTMF)
;
; valid entries are: rfc2833, inband
; default is rfc2833
dtmfmode=inband
;
; Default RTP Payload to send RFC2833 DTMF on. This is used to
; interoperate with broken gateways which cannot successfully
; negotiate a RFC2833 payload type in the TerminalCapabilitySet.
;
; You may also specify on either a per-peer or per-user basis below.
;dtmfcodec=101
;
; Set the gatekeeper
; DISCOVER - Find the Gk address using multicast
; DISABLE - Disable the use of a GK
; <IP address> or <Host name> - The acutal IP address or hostname of your GK
gatekeeper = DISABLE
;
;
; Tell Asterisk whether or not to accept Gatekeeper
; routed calls or not. Normally this should always
; be set to yes, unless you want to have finer control
; over which users are allowed access to Asterisk.
; Default: YES
;
;AllowGKRouted = yes
;
; When the channel works without gatekeeper, there is possible to
; reject calls from anonymous (not listed in users) callers.
; Default is to allow anonymous calls.
;
;AcceptAnonymous = yes
;
; Optionally you can determine a user by Source IP versus its H.323 alias.
; Default behavour is to determine user by H.323 alias.
;
;UserByAlias=no
;
; Default context gets used in siutations where you are using
; the GK routed model or no type=user was found. This gives you
; the ability to either play an invalid message or to simply not
; use user authentication at all.
;
context=from-internal
;
; Use this option to help Cisco (or other) gateways to setup backward voice
; path to pass inband tones to calling user (see, for example,
; http://www.cisco.com/warp/public/788/voip/ringback.html)
;
; Add PROGRESS information element to SETUP message sent on outbound calls
; to notify about required backward voice path. Valid values are:
; 0 - don't add PROGRESS information element (default);
; 1 - call is not end-end ISDN, further call progress information can
; possibly be available in-band;
; 3 - origination address is non-ISDN (Cisco accepts this value only);
; 8 - in-band information or an appropriate pattern is now available;
progress_setup = 8
;
; Add PROGRESS information element (IE) to ALERT message sent on incoming
; calls to notify about required backwared voice path. Valid values are:
; 0 - don't add PROGRESS IE (default);
; 8 - in-band information or an appropriate pattern is now available;
progress_alert = 8
;
; Generate PROGRESS message when H.323 audio path has established to create
; backward audio path at other end of a call.
;progress_audio = yes
;
; Specify how to inject non-standard information into H.323 messages. When
; the channel receives messages with tunneled information, it automatically
; enables the same option for all further outgoing messages independedly on
; options has been set by the configuration. This behavior is required, for
; example, for Cisco CallManager when Q.SIG tunneling is enabled for a
; gateway where Asterisk lives.
; The option can be used multiple times, one option per line.
;tunneling=none ; Totally disable tunneling (default)
;tunneling=cisco ; Enable Cisco-specific tunneling
;tunneling=qsig ; Enable tunneling via Q.SIG messages
;
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
; H323 channel. Defaults to "no". An enabled jitterbuffer will
; be used only if the sending side can create and the receiving
; side can not accept jitter. The H323 channel can accept jitter,
; thus an enabled jitterbuffer on the receive H323 side will only
; be used if the sending side can create jitter and jbforce is
; also set to yes.

; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a H323
; channel. Defaults to "no".

; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.

; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
; resynchronized. Useful to improve the quality of the voice, with
; big jumps in/broken timestamps, usualy sent from exotic devices
; and programs. Defaults to 1000.

; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a H323
; channel. Two implementations are currenlty available - "fixed"
; (with size always equals to jbmax-size) and "adaptive" (with
; variable size, actually the new jb of IAX2). Defaults to fixed.

; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
;-----------------------------------------------------------------------------------
h245Tunneling = no
fastStart = yes

[avaya]
type=friend
context=from-internal
host=10.1.99.3
port=1720
disallow=all
allow=alaw
dtmfmode=inband

2009-10-09 13:58

Сообщений: 1129

Re: h323 OLC master/slave mismatch



BOOL H323Connection::OnConflictingLogicalChannel(H323Channel & conflictingChannel)
{
unsigned session = conflictingChannel.GetSessionID();
PTRACE(2, "H323\tLogical channel " << conflictingChannel
<< " conflict on session " << session
<< ", codec: " << conflictingChannel.GetCapability());

/* Matrix of conflicts:
Local EP is master and conflicting channel from remote (OLC)
Reject remote transmitter (function is not called)
Local EP is master and conflicting channel to remote (OLCAck)
Should not happen (function is not called)
Local EP is slave and conflicting channel from remote (OLC)
Close sessions reverse channel from remote
Start new reverse channel using codec in conflicting channel
Accept the OLC for masters transmitter
Local EP is slave and conflicting channel to remote (OLCRej)
Start transmitter channel using codec in sessions reverse channel

Upshot is this is only called if a slave and require a restart of
some channel. Possibly closing channels as master has precedence.
*/

BOOL fromRemote = conflictingChannel.GetNumber().IsFromRemote();
H323Channel * channel = FindChannel(session, !fromRemote);
if (channel == NULL) {
PTRACE(1, "H323\tCould not resolve conflict, no reverse channel.");
return FALSE;
}

...
...
...
так что вполне может быть и не состыковка по биндаддр и пришедим сигналингом

ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2009-10-09 13:58

Сообщений: 1129

Re: h323 OLC master/slave mismatch

bindaddr = 10.1.2.2

host=10.1.99.3

что то я не сильно уверен что это есть гуд

они в одной сети?
какой там /? у них
ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2009-10-09 14:00

Сообщений: 1129

Re: h323 OLC master/slave mismatch

возможные варианты ошибок
/* Matrix of conflicts:
- Local EP is master and conflicting channel from remote (OLC)
Reject remote transmitter (function is not called)

- Local EP is master and conflicting channel to remote (OLCAck)
Should not happen (function is not called)

- Local EP is slave and conflicting channel from remote (OLC)
Close sessions reverse channel from remote
Start new reverse channel using codec in conflicting channel
Accept the OLC for masters transmitter

- Local EP is slave and conflicting channel to remote (OLCRej)
Start transmitter channel using codec in sessions reverse channel

Upshot is this is only called if a slave and require a restart of
some channel. Possibly closing channels as master has precedence.
*/
ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2009-10-09 14:01

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru