CLIP/COLP no Screening

ipfox

Mitglied
Mitglied seit
22 Nov 2004
Beiträge
242
Punkte für Reaktionen
0
Punkte
0
Hallo,
mein Telefonanbieter hat dieses Leistungsmerkmal für mich freigeschaltet. Leider funktioniert es mit folgender Config nicht. Es wird immer die Haupt-MSN übertragen. Benutzt wird eine AVM Fritz PCI 2.0 mit CAPI-Treiber.
Jetzt weiss ich nicht, ob es am Anbieter oder mir liegt.


extensions.conf
Code:
exten => s,1,Set(CALLERID(num)=00ANDERENUME00)
exten => s,2,NoOp()
exten => s,3,Dial(CAPI/ISDN1/${ARG1}/b)

capi.conf
Code:
[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0       ;linear receive gain (1.0 = no change)
txgain=1.0       ;linear transmit gain (1.0 = no change)
language=de      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

; interface sections ...

[ISDN1]          ;this example interface gets name 'ISDN1' and may be any
                 ;name not starting with 'g' or 'contr'.
                 ;Use one interface section for each isdn port!
;ntmode=yes      ;if isdn card operates in nt mode, set this to yes
isdnmode=msn     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
incomingmsn=*    ;allow incoming calls to this list of MSNs/DIDs, * = any
controller=1     ;capi controller number of this interface/port
group=1          ;dialout group
;prefix=0        ;set a prefix to calling number on incoming calls
softdtmf=off      ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on     ;in addition to softdtmf, you can use relaxed dtmf detection
faxdetect=outgoing ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
                 ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
accountcode=     ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
context=capi-in  ;context for incoming calls


devices=2        ;number of concurrent calls (b-channels) on this controller
 
Hallo,
meines Wissens nach gibt es dieses Merkmal nur bei Anlagenanschlüssen. In deiner capi.conf steht aber "isdnmode=msn " für Mehrgeräteanschluss. Setze das mal auf "DID".

Bye
Alf aus HH
 
Hi,
"DID" hatte ich am Anfang auch schon probiert. HAt leider auch nichts gebracht.

Hier nochmals ein DEBUG:
Code:
 == ISDN1#02: Call CAPI/ISDN1#02/*********   (pres=0x00, ton=0x00)
CONNECT_REQ ID=004 #0x09be LEN=0065
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>************
  CallingPartyNumber              = <00 80>00ANDERENUME00
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- Called ISDN1/++++++++++++

in isdn.log
Code:
May 23 15:50:58 2007|+49ANDERENUME00   |+49++++++++++++   |    0|         0|1179928258|   -1|O| 16|         0|         0|3.2|1|1|0.062|EUR|0| 33| -1|
wird es korrekt übermittelt.
also liegt wer fehler wohl beim provider, oder?
 
Zuletzt bearbeitet:
alfhh schrieb:
meines Wissens nach gibt es dieses Merkmal nur bei Anlagenanschlüssen. In deiner capi.conf steht aber "isdnmode=msn " für Mehrgeräteanschluss. Setze das mal auf "DID".
CLIP-no-screening kann es auch am Mehrgeräteanschluß geben, wird aber zumindest bei der Telekom nur für Anlagenanschlüsse angeboten.

@ipfox: hast du einen Anlagenanschluß (also Basisnumner + Durchwahlen)? Es könnte auch ein Anruf bei der Störungsstelle angebracht sein, es fällt den Providern manchmal schwer, das Leistungsmerkmal zu schalten. Dabei darauf achten, daß nicht 'CLIP geht nicht' notiert wird, sondern 'CLIP-no-screening geht nicht'.

Ansonsten wäre auch eine Möglichkeit, den D-Kanal zu tracen hifreich, mitunter hängt das funktionieren dieses LM an der richtigen Einstellung des type-of-number im ISDN-Setup. Der korrekte TON damit CLIP-no-screening funktioniert kann im übrigen bei verschiedenen Providern unterschiedlich sein.
 
QSC Complete Anschluß
- Ein getunnelter S0 - Anschluss.

Störungsmeldung ist bereits draussen.

TON werde ich mal nachfragen.
 
Was genau setzt du denn als CALLERID(number) ?
Vielleicht stimmt das Format nicht?

Armin
 
Hi,
z.B. CALLERID(number) = 030212121212

Habe nochmals mit dem Support gesprochen. Also die Nummer kommt korrekt an. Nur muss ich als TON (type-of-number) national setzten. Zur zeit kommt unknown an, deshalb will der Router das bei denen nicht übernehmen.

Wie ist das möglich?
 
Code:
exten => s,1,Set(CALLERID(num)=030123456789)
exten => s,2,Set(_CALLERTON=16)
exten => s,3,Dial(CAPI/ISDN1/030123456789:${ARG1}/b)

funktioniert leider auch nicht.

Die Info habe ich aus diesem thread: http://www.ip-phone-forum.de/showthread.php?p=706911

Debug sieht aber gut aus
Code:
Call CAPI/ISDN1#02/0787878787-57 with B3  (pres=0x00, ton=0x10)
CONNECT_REQ ID=004 #0x8163 LEN=0065
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>0787878787
  CallingPartyNumber              = <10 80>030123456789
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
 
Wenn man nach Q931 geht, sollte es nicht 16 sein, sondern 40.

Armin
 
Irgendwie wird der "ton" doch nicht gesetzt.

ein "capi show channels" sagt:

CAPI B-channel information:
Code:
Line-Name       NTmode state i/o bproto isdnstate   ton  number
----------------------------------------------------------------
ISDN1#02         no    Dial   O  trans  *S          0x00 '030123456789'->'0787878787'  B3q=0 B3count=0


On Tue, 16 May 2006, Klaus Darilion wrote:
> Hi!
>
> I have problems with the ToN configurations in chan_capi-cm. I understand how
> incoming calls are rewritten using national and international prefix. But for
> outgoing calls - what is the ToN?

I never really needed ton in TE mode, but when your card is in NT mode,
setting the ton may be important.

> Further, is there any debug info of the Ton? "capi debug" and the divactrl
> dchannel both show the CLI and CDLI, but do not show the ToN.

The ton is a byte prepended to the callerid and can be seen when looking at
the capi messages. On outgoing call when 'capi debug' is set, the
presentation and ton value is shown as well.

> How can I set the ToN? I suspect chan_capi to use the received ToN also for
> outgoing calls when bridging calls. How can I verify this?

When using a newer Asterisk with cid_ton (I think 1.2.x has them), then
chan-capi will set ton on incoming call and on outgoing call, this value is
used as well. So it is bridged.
Since Asterisk does not provide (as far as I know) a possibility to change
that cid_ton value, chan-capi will overwrite that value with the value in
variable ${CALLERTON}, if set.
When you use the latest chan-capi from trunk (HEAD version), you can use
'capi show channels' to see the ton as well.
 
Zuletzt bearbeitet:
Doch, TON wird schon gesetzt. Das kannst Du bei capi debug sehen (beim CONNECT_REQ).
Bei capi show channels wurde der Wert nur nicht mit in die Anzeige uebernommen (im trunk nun gefixt).

Armin
 
Hallo Armin,
danke für den Fix. Der aktuelle Trunk zeigt nun:
Code:
CAPI B-channel information:
Line-Name       NTmode state i/o bproto isdnstate   ton  number
----------------------------------------------------------------
ISDN1#02         no    Dial   O  trans  *BPS        0x28 '030123456789'->'0787878787'

BTW:
Beim Wechsel von Stable 1.01 zur SVN 25.05.2007 ist mir aufgefallen, dass die ausgehende Sprache nicht mehr übermittelt wird. Der Anrufende hört einen nicht mehr. Nach Wechsel auf die Stable 1.01 ist das Problem wieder behoben.
 
Zuletzt bearbeitet:
ipfox schrieb:
Beim Wechsel von Stable 1.01 zur SVN 25.05.2007 ist mir aufgefallen, dass die ausgehende Sprache nicht mehr übermittelt wird. Der Anrufende hört einen nicht mehr. Nach Wechsel auf die Stable 1.01 ist das Problem wieder behoben.

Mit welcher Asterisk Version hast du das getestet?
Koenntest Du ein log mit
set verbose 9
capi debug
von der fehlerhaften Verbindung erzeugen? (Nur eine kurze Verbindung, da mit verbose 9 das log sehr gross wird).

Armin
 
Beide Debugs siehe Anhang.
 

Anhänge

  • svn-rev.513.debug.txt
    131.7 KB · Aufrufe: 2
  • stable-1.01.debug.txt
    193.9 KB · Aufrufe: 2
Habe noch folgenden Debug vom PRovider bekommen, was Asterisk an die CPE sendet.

Code:
Dezimal	Extension bit
|		|   Type of number
|		|   |   Numbering plan
|		|   |   |
161 -> 	1 010 0001		(eingestellter Wert in Asterisk)
		0 010 0001 = 21 	(Wert in der CPE)

160 -> 	1 010 0000
		0 010 0001 = 21

168 -> 	1 010 1000
		0 010 0000 = 20

2 ->		0 000 0010
		0 010 1000 = 28

16 ->		0 001 0000
		0 000 0010 = 02

33 ->		0 010 0001
		0 001 0000 = 10

32 ->		0 010 0000
		0 010 0001 = 21

36 ->		0 010 0100
		0 010 0000 = 20

40 -> 	0 010 1000
		0 010 0100 = 24
 
ipfox schrieb:
Es scheint für beide Probleme auch ein Bug-Report zu geben.
Bug #26 bezieht sich auf RDNIS und sollte mit deinem Problem nichts zu tun haben.

Der 'no voice' bug ist bei mir bisher leider nicht reproduzierbar und in deinem Log sehe ich auch nichts besonderes. Ich vermute es hat mit der neuen Asterisk Version zu tun.

Armin
 
Hallo Armin,
ich kann gerne noch weitere Tests und Logs für Bug#32 durchführen.

Was das ton Problem angeht bin ich leider auch noch nicht weiter gekommen. Kann an vielen Faktoren liegen.

Der Extension bit (7) für "type of address" scheint nicht gesetzt zu werden. In der CPE kommt er immer als 0 an. Liegt der Fehler nun an der CPE oder chan_capi?
 
Zuletzt bearbeitet:
Hallo Armin,
ich habe mir mal den Quelltext angeschaut. Bin nicht 100% fit in C. Deshalb eine kurze Frage:
CAPI_ETSI_NPLAN_NATIONAL = 0x20;

if ((callernplan & 0x70) == CAPI_ETSI_NPLAN_NATIONAL)

Was bedeutet bei (callernplan & 0x70) das "&" ?
Der Ausdruck (callernplan & 0x70) müsste ja 0x20 sein, wenn es erfüllt seien soll.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.