Standardy i formaty CLIP

Standardy i formaty CLIP
Pobierz PDF Download icon
W artykule opisano rodzaje ramek i sposoby przesyłania sygnału CLIP (Calling Line Identification Presentation) w analogowych łączach telekomunikacyjnych. Umieszczono także kilka wskazówek dotyczących sposobu dekodowania CLIP-a tak, żeby działał na możliwie największej liczbie central telefonicznych.
64 ELEKTRONIKA PRAKTYCZNA 6/2009 NOTATNIK KONSTRUKTORA Standardy i formaty CLIP W artykule opisano rodzaje ramek i sposoby przesyłania sygnału CLIP (Calling Line Identi?cation Presentation) w analogowych łączach telekomunikacyjnych. Umieszczono także kilka wskazówek dotyczących sposobu dekodowania CLIP?a tak, żeby działał na możliwie największej liczbie central telefonicznych. Na łączach analogowych możliwe jest wysyłanie do abonenta informacji o nume- rze wywołującego go abonenta. Istnieją dwa standardy kodowania informacji CLIP: DTMF i FSK. Na łamach EP było publikowanych kilka rozwiązań dekoderów CLIP. W artykułach nie omówiono standardów przesyłanych ramek, skupiając się tylko na podstawowych (w przy- padku FSK daty/godziny i numeru abonenta wywołującego). Warto jednak dokładniej po- znać typy przesyłanych ramek. Wiele central (Siemens, Slican) generuje dodatkowe ramki, a np. rejestrator telefoniczny AVT?5065 prze- syła ramkę w formacie RAW do portu szerego- wego umożliwiając jej zdekodowanie. Ponadto niektóre telefony i identy?katory wyświetlają dodatkowe ramki (np. opis tekstowy). Standard DTMF Na początku omówię prostszy standard DTMF (Dual Tone Multi Frequency). Spotka- łem się z dwoma metodami wysyłania sy- gnałów CLIP: Kody DTMF (80 ms ton, 80 ms przerwa) Pauza ?250 ms ?1 s Dzwonek oraz: Dzwonek(najczę- ściejkrótki,ok. 500ms) Pauza?250ms ?1sek KodyDTMF (80mston, 80msprzerwa) Pauza?200ms Dzwonek W Polsce spotyka się pierwszą z omó- wionych tu metod. Kody DTMF układają się w ramkę złożona z trzech pól: Znak startu ramki nr abonenta znak końca ramki Numer abonenta może być 20?cyfrowy. Przykładowa ramka może wyglądać tak: D012345678A Powyższa ramka jest prawdziwa dla cen- trali ESS5. Mając do czynienia z różnymi typami central spotkałem się z różnymi ko- dami znaków startu i końca ramki. Np. dla Siemensa ramka wyglądała tak: D0123456789C Na szczęście jest pewna reguła ? znak startu i końca jest różny od 0...9, najczęściej są to znaki A, C, D. Ramka abonenta zastrzeżonego lub bez możliwości identy?kacji ma w miejscu nu- meru dziewięć lub dziesięć zer (zależne od modelu centrali). Aby program dekodujący CLIP działał prawidłowo, należy postępować wg następu- jącego algorytmu: 1. Dekodowanie rozpoczyna się od oczeki- wania w pętli na jeden ze znaków: #, *, A...D. 2. Po odebraniu któregoś z powyższych znaków oczekiwane są z kolei znaki z za- kresu 0...9. Jeśli taki znak zostanie ode- brany, to jest on zapisywany do bufora, po czym wskaźnik bufora zostaje zwięk- szony i program odbiera kolejne znaki. 3. Jeśli w ciągu 3 sekund nie będzie dzwon- ka, procedura rozpoczyna się od nowa (skok do 1). 4. Jeśli wszystkie odebrane znaki w buforze są zerami, to nie ma możliwości ziden- ty?kowania rozmówcy, w przeciwnym przypadku zostaną wyświetlone Powyższy algorytm zapewnia dekodowa- nie CLIP?a na każdej centrali, bez względu na sposób przesyłania sygnału CLIP i stosowane znaki startu oraz stopu. Naturalnie procedurę oczekiwania na znak należy zaopatrzyć w ti- meout, aby program się nie zawieszał. Jak łatwo zauważyć, standard DTMF jest stosunkowo prosty, ale przekazuje mało in- formacji (nie można odróżnić abonenta z nu- merem zastrzeżonym od abonenta bez możli- wości identy?kacji). Ponadto wysłanie tylko 10 cyfr będzie trwało 12 (łącznie ze znakami Start i Stop) × 160 ms (czas tonu + czas przerwy)=1920 ms, czyli prawie 2 sekundy! Przy 20 cyfrach będą to prawie 4 sekundy! Znacznie bardziej zaawansowany i mający więcej możliwość jest standard FSK. Standard FSK Są spotykane dwie metody wysyłania CLIP?a. Standard BELLCORE (stosowany w Polsce): Dzwonek(najczęściej krótkiokoło500ms) Pauza?250ms TransmisjaFSKod 500msdo200ms Pauza?200ms Dzwonek(standardowa długość1s) oraz BT (British Telecommunications): Zmianapolaryzacjiżył Pauza?100ms Sygnałsynchronizacji Pauza?45?75ms TransmisjaFSKod500 msdo200ms Pauza?200ms Dzwonek(standardowa długość1s) W standardzie FSK jedynce logicznej odpowiada ton 1300 Hz, zeru logicznemu 2100 Hz (standard V.23), prędkość transmisji wynosi 1200 bd. Kompletną ramkę przedsta- wiono poniżej: Synchronizacja ?sygnałSMRR 80...250ms Bitstopu?sygnał MARK 55...160ms Meldunek(MESSAGE) 500...2000ms Pierwsze dane ramki (znak SMRR) skła- dają się z bitów, których wartość zmienia się naprzemiennie 0,1,0,1... Sygnał ten jest używany do zsynchronizowania dekodera FSK. Sygnał MARK jest złożony ze 180 bi- tów o wartości 1. Po nim wysyłany jest mel- dunek. Budowę meldunku przedstawiono poniżej: Bajtokreślającyrodzaj danychTYPE Bajtokreślającyliczbę bajtówmeldunkuLEN (zależnaoddługości rekordówmeldunku) Rekord/rekordymeldunku Bajtsumykontrolnej CRC (sumamodulo2) Pole TYPE najczęściej zawiera wartość $80 ? identy?kacja dzwoniącego. Istnieje też typ=$04. Rekord meldunku ma budowę jak poniżej: Bajtrodzajuda- nych(BYPE) Bajtokreślający liczbębajtów danych(LEN) Dane (DATA) Cała ramka CLIP FSK może wyglądać jak poniżej: SMRR MARK MESSAGE CRC TYPE LEN Rekordy meldunku TYPE LEN DATA TYPE LEN DATA 65ELEKTRONIKA PRAKTYCZNA 6/2009 Standardy i formaty CLIP Typowe rekordy: ? rekord czasu i daty (kod $01); ? rekord numeru abonenta wywołującego (kod $02). Spotykane są również rekordy postaci: ? rekord numeru wybranego przez abo- nenta wywołującego (kod $03); ? rekord określający typ centrali (kod $04); ? rekord opisu tekstowego (kod $07); ? status centrali (kod $13). Poniżej przedstawiono przykładowe ramki CLIP. Pogrubioną czcionką oznaczo- no pierwsze bajty ramek oraz sumę kontro- lną. W zapisie występują wartości hex kodu ASCII poszczególnych znaków ramki. HEX ASCII OPIS $80 Wiadomość CLIP $15 21 bajtów meldunku (łączenie z CRC) $01 rekord daty i czasu $08 8 bajtów w rekordzie $30 ?0? znaki układające się w datę 05?16 godz 17:35 $35 ?5? jeśli pierwszy bajt nr ma wartość $50 (znak ?P?), oznacza to nr zastrzeżony $31 ?1? jeśli pierwszy bajt ma wartość $4F (znak ?O?), oznacza to, że abonent nie ma identy?kacji (np. jest podłączony do centrali analogowej) $36 ?6? $31 ?1? $37 ?7? $33 ?3? $35 ?5? $02 rekord numeru abonenta wywołującego $09 9 bajtów w rekordzie $30 ?0? znaki numeru abonenta wywołującego 012345678 $31 ?1? $32 ?2? $33 ?3? $34 ?4? $35 ?5? $36 ?6? $37 ?7? $38 ?8? $xx CRC ? suma modulo 2 wszystkich danych (wyłączając CRC) Niektóre centrale wysyłają dodatkowe ramki. Np. Siemens ESWD wysyła ramkę: HEX ASCII OPIS $80 Wiadomość CLIP $31 liczba bajtów meldunku (łączenie z CRC) R E K L A M A 66 ELEKTRONIKA PRAKTYCZNA 6/2009 NOTATNIK KONSTRUKTORA $01 rekord daty i czasu $08 8 bajtów w rekordzie $30 ?0? znaki układające się w datę 05?16 godz 17:35 $35 ?5? $31 ?1? $36 ?6? $31 ?1? $37 ?7? $33 ?3? $35 ?5? $02 rekord numeru abonenta wywołującego $09 9 bajtów w rekordzie $30 ?0? znaki numeru abonenta wywołującego ?012345678? $31 ?1? $32 ?2? $33 ?3? $34 ?4? $35 ?5? $36 ?6? $37 ?7? $38 ?8? $03 rekord nr wybranego $07 7 bajtów w rekordzie $31 ?1? znaki wybranego numeru ?1234567? $32 ?2? $33 ?3? $34 ?4? $35 ?5? $36 ?6? $37 ?7? $04 rekord typu centrali $11 17 bajtów w rekordzie $45 ?E? znaki tekstu ?ESWD from SIEMENS? $53 ?S? $57 ?W? $43 ?D? $20 ? ? $66 ?f? $72 ?r? $6F ?o? $6D ?m? $20 ? ? $53 ?S? $49 ?I? $45 ?E? $4D ?M? $45 ?E? $4E ?N? $53 ?S? $xx CRC ? suma modulo 2 wszystkich danych (wyłączając CRC) Czytelnicy mogą sobie zadać pytanie: po co wysyłać numer, który wybrał abonent wy- wołujący? Przecież doskonale wiadomo do jakiej linii podłączony jest telefon. W 99% procentach przypadków numer wybierany będzie taki sam, jak numer linii telefonicz- nej, ale gdy abonent tra? do nas z przekiero- wanej rozmowy, numer ten będzie inny. Przykładowo: abonent o nr 1111111 prze- kierował połączenia na nr 2222222. Abonent 3333333 wybierając nr 1111111 dodzwoni się pod nr 2222222, a nie pod 1111111. W tej sytuacji na linię o numerze 2222222 zostanie wysłana następująca informacja: Rekord $01 DATA i CZAS Rekord $02 3333333 (nr abonenta wywołującego) Rekord $03 2222222 (wybrany przez niego nr niezgodny z nr linii) Rekord $04 ESWD from SIEMENS Gdyby abonent 3333333 zadzwonił do 1111111 bez włączonej funkcji przekiero- wania połączeń, otrzymalibyśmy poniższą ramkę: Rekord $01 DATA i CZAS Rekord $02 3333333 (nr abonenta wywołującego) Rekord $03 1111111 (wybrany przez niego nr zgodny z nr linii) Rekord $04 ESWD from SIEMENS Podobnie będzie w przypadku posiada- nia numerów PBX. Dzięki rekordowi $03 mamy namiastkę numeru MSN/DDI z ISDN w ruchu przychodzącym na łączach analo- gowych. Dzięki rekordowi $03 można odrzu- cać połączenia. Algorytm odbioru sygnału CLIP powi- nien być następujący: 1. Czekanie na SMRR. 2. Odebranie MARK, jeśli nie MARK, to skocz do 1. 3. Zeruj CRC. 4. Odebranie TYPE, jeśli różne od $80, to skocz do 1. 5. Odbierz LEN i zapamiętaj w zmiennej LenMsg. 6. Odbierz TYPE, zmniejsz LenMsg 7. Odbierz LEN, zapamiętaj w zmiennej LenRec, zmniejsz LenMsg. 8. Odbierz daną, zapisz w buforze, zmniejsz LenMsg i LenRec. 9. Jeśli LenRec<>0, to skacz do 8 10.Jeśli znane pole TYPE, to przygotuj do wyświetlenia/analizy (np. rekord daty/ czasu można przygotować do zapisania w zegarze), jeśli pole nieznane nie inter- pretuj danych. 11.Jeśli LenMsg<>0, to skacz do 6 12.Odbierz CRC. 13.Porównaj CRC. Jeśli prawidłowe, to wy- świetl dane. Taki algorytm zagwarantuje, że CLIP będzie wyświetlony bez względu na liczbę rekordów w komunikacie oraz ich kolejność. Na tej zasadzie działa CLIP w rejestratorze AVT?5065 i bez problemu radzi sobie z re- kordami typu $01, $02 (data/czas/numer) jak i $03, $04, $07, które przy wyświetlaniu informacji o numerze pomija. Niestety nie można tego powiedzieć o niektórych kon- strukcjach dekoderów dostępnych w Inter- necie, gdzie analiza kodu źródłowego dowo- dzi, iż identy?kator zadziała tylko z ramkami typu $01 i $02. Pojawienie się dodatkowych ramek w komunikacie spowoduje odczyta- nie złej sumy kontrolnej w konsekwencji czego program nic nie wyświetli. Inna kolej- ność ramek może natomiast spowodować złe ustawienie zegara oraz wyświetlenie czasu zamiast numeru. Jak wynika z powyższego tekstu, urzą- dzenie zbudowane i przetestowane przez autora, który nie zagłębił się w odpowiednie normy może będzie poprawnie działało tylko u niego! Na koniec należy dodać, że obydwa standardy umożliwiają przekazanie numeru połączenia oczekującego (DIDCW ? Calling Identity on Call Waiting. Po uaktywnieniu usługi, na czas przekazywania informacji o numerze, rozmowa jest wyciszana. Sławomir Skrzyński, EP slawomir.skrzynski@ep.com.pl Źródła: Nota katalogowa układu CML612 http://www.hw.cz/pic/clip/index.html R E K L A M A
Artykuł ukazał się w
Czerwiec 2009
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio październik 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje wrzesień 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich wrzesień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów