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