IPTelephony환경을 구축하면서 Cisco3845라우터를 통하여 PSTN에 E1라인을 연결하여 전화망을 이용하는 구축을 하였다. 전화사용은 문제가 없는데 FAX전송시에는 잘될때도 있고 안될때도 많이 발생하는 문제가 생겼다. 팩스전송에 문제가 발생할 때에는 글자가 물린다던지 몇장짜리 팩스가 도중에 에러가 발생한다던지...등등의 문제가 발생했다.
문서를 찾아보니 fax전송방식을 지정하는 것이 있다고 했는데 fax passthrough방식으로 이미 지정을 한 상태였다. 무엇이 문제일까???
여러날을 고민하면서 문서를 찾아보다가 TAC상에서 slip error라는 실마리를 찾게되었다.
아래와 같이 E1컨트롤러의 상태를 보았을때
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } -->
Router#show controller e1 0/0
E1 0/0 is up.
Applique type is Channelized E1 - balanced
No alarms detected.
alarm-trigger is not set
Version info Firmware: 20020812, FPGA: 11
Framing is CRC4, Line Code is HDB3, Clock Source is Line.
Data in current interval (97 seconds elapsed):
0 Line Code Violations, 0 Path Code Violations
4 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
4 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
Total Data (last 14 15 minute intervals):
1 Line Code Violations, 4 Path Code Violations,
425 Slip Secs, 0 Fr Loss Secs, 1 Line Err Secs, 0 Degraded Mins,
427 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
slips에러가 발생하면 전화통화는 문제가 되지 않는데 fax전송상에는 문제가 발생한다는 내용의 글이 많이 올라왔다. 이 에러의 요인은 digital clock의 동기화가 제대로 되지 않아서 발생하는 문제라고 한다.
그럼, 서비스제공업체와 어떻게 동기화를 맟추지????
항상 다른곳과 동기화를 맞추는 작업은 힘든부분이다... 더군다나 우리쪽의 내용이 완전히 파악되지 않는 경우에는 더 힘든작업인것 같다. 서비스제공업체측과 통화를 해보니 그쪽에서는 무조건 동기화 클럭을 제공하게되어 있으므로 우리쪽에서 받도록 지정을 하면 된다고 한다. 어허...
그런데 한가지 이상한점은 다른곳에서 이와 동일한 방식으로 구성을 할때 E1컨트롤러가 설치된 모듈에 대해서
no network-clock-participate slot 3을 적용해서 연결을 했는데, 현재 설치하는 곳에서는 앞의 명령으로 모듈의 클럭동기화를 뺴면 모든 채널들이 blocking이 되버리는 증상이 발생하였다. 따라서, network-clock-participate slot 3 이 명령이 반드시 들어가야 했다. 문서를 찾아보니 클럭동기화에 모듈을 참여하도록 해야한다고 되어있던데....다른곳은 왜그런거지???
이 명령이 들어가면 controller상태에서 clock이 backplane에서 복귀되는 것을 확인할 수 있다.
Router#show controllers e1
E1 3/0 is up.
Applique type is Channelized E1 - balanced
No alarms detected.
alarm-trigger is not set
Version info Firmware: 20070321, FPGA: 255, spm_count = 0
Framing is NO-CRC4, Line Code is HDB3, Clock Source is Line.
Current port master clock:recovered from backplane
이 상태에서는 slip error가 계속적으로 발생하였다.
명령어 상에 network-clock을 모듈에서 받도록 하는 명령이 있어서 지정을 하였다.
network-clock-participate slot 3
network-clock-select 1 E1 3/0
위와 같이 지정을 하더라도 controller의 상태에는 여전히 backplane에서 복귀되는 것으로 나타났다. 하지만, 실제적으로 우선순위에 의하여 모듈에서 동기화를 먼저하여 slip error가 없어졌다. controller상태에서 모듈로 변경되지 않아서 명령이 적용안되는 줄로 알고 계속해서 다른것을 찾아봤지만, 실제적으로 아래의 명령의 결과에서 볼 수 있듯이 우선순위에 의하여 클럭 동기화가 되었다.
Router#show network-clocks
Network Clock Configuration
---------------------------
Priority Clock Source Clock State Clock Type
1 E1 3/0 GOOD E1
11 Backplane GOOD PLL
Current Primary Clock Source
---------------------------
Priority Clock Source Clock State Clock Type
1 E1 3/0 GOOD E1