VoIP زو - فراہمی

داخلہ

ایک دن، انتظامیہ نے ہمارے دفتر میں آئی پی ٹیلی فونی متعارف کرانے کے لیے ایک تجربے کی منظوری دی۔ چونکہ اس شعبے میں میرا تجربہ بہت کم تھا، اس لیے اس کام نے مجھ میں بہت دلچسپی پیدا کی اور میں اس مسئلے کے مختلف پہلوؤں کا مطالعہ کرنے لگا۔ غوطہ خوری کے اختتام پر، میں نے اپنے حاصل کردہ علم کو اس امید پر شیئر کرنے کا فیصلہ کیا کہ یہ کسی کے لیے مفید ثابت ہوگا۔ تو…

ماخذ کا ڈیٹا

نجمہ کو آئی پی پی بی ایکس کے بطور منتخب اور تعینات کیا گیا تھا۔ فون کا بیڑا Cisco 7906g، Panasonic UT-KX123B، Grandstream GXP1400 اور Dlink DPH-150S(E)/F3، Yealink T19 اور T21 آلات پر مشتمل ہے۔ یہ تغیر اس حقیقت کی وجہ سے ہے کہ تجربے کے حصے کے طور پر، قیمت/معیار/سہولت کے تناسب پر رائے قائم کرنے کے لیے ہر چیز کو تھوڑا سا آزمانے کا فیصلہ کیا گیا تھا۔

ٹاسک

نئے آلات کو ترتیب دینے کے عمل کو زیادہ سے زیادہ آسان اور متحد کریں۔ تمام فونز کا وقت مطابقت پذیر ہونا چاہیے، سرور سے ایک فون بک لوڈ ہونی چاہیے اور منتظم کے لیے ترتیبات تک رسائی فراہم کرنی چاہیے۔

اس مسئلے کا حل آسان ہے - فونز کی خودکار ترتیب کو نافذ کریں، جسے نام نہاد کہا جاتا ہے۔ فراہمی۔ دراصل، میرے اس شاندار فنکشن کے نفاذ پر بات کی جائے گی۔

tftpd، dhcpd کو ترتیب دینا

فونز پر سیٹنگز تقسیم کرنے کے لیے، میں نے tftp کو ایک آفاقی آپشن کے طور پر منتخب کیا، جو تمام پلیٹ فارمز کے ذریعے تعاون یافتہ، ترتیب دینے اور منظم کرنے میں آسان ہے۔

tftp کے لیے کسی مخصوص ترتیب کی ضرورت نہیں تھی۔ میں نے معیاری tftpd انسٹال کیا اور تمام ضروری فائلیں اس کی روٹ ڈائرکٹری میں رکھ دیں۔
میں نے سیٹنگ فائلوں کو فون مینوفیکچرر کے مطابق ڈائریکٹریز میں رکھا۔ سچ ہے، سسکو ڈیوائس کبھی بھی اس کے فولڈر میں نہیں گئی، اس لیے مجھے اسے اس کی جڑ میں اسٹور کرنا پڑا۔

فونز کو tftp سرور کے مقام کی طرف اشارہ کرنے کے لیے، میں نے آپشن-66 استعمال کیا۔ اس کے علاوہ، اس نے انہیں صنعت کار کے ذریعہ الگ الگ کلاسوں میں تقسیم کیا۔ ہر کلاس کو اپنا ایڈریس سیگمنٹ اور کنفیگریشن فائلوں کے لیے ایک انفرادی فولڈر موصول ہوا۔ ویسے، D-link سے ڈیوائسز کا حساب MAC ایڈریس سے کرنا پڑتا ہے، کیونکہ وہ dhcp کی درخواست میں مینوفیکچرر کے بارے میں معلومات فراہم نہیں کرتے ہیں۔

فریگمنٹ dhcpd.conf

# مطلوبہ اختیارات کی وضاحت کریں آپشن -66 کوڈ 66 = متن؛ class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "پیناسونک"؛ آپشن آپشن-66 "10.1.1.50/panasonic/"؛ } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "سسکو سسٹمز، انکارپوریٹڈ IP فون CP-7906"; آپشن آپشن-66 "10.1.1.50/cisco/"؛ } class "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; آپشن آپشن-66 "10.1.1.50/گرینڈ اسٹریم/"؛ } کلاس "dlink" { مماثل اگر (binary-to-ascii (16,8,":", substring(hardware,1,4)) = "c8:d3:a3:8d") یا (binary-to-ascii (16,8,":", substring(hardware,1,4)) = "90:94:e4:72")؛ آپشن آپشن-66 "10.1.1.50/dlink/"؛ } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; آپشن آپشن-66 "10.1.1.50/yealink/"؛ }

فونز کو زبردستی جنرل پول سے باہر کرنا پڑا۔ بصورت دیگر، وہ اپنے "پیڈلنگ پول" میں نہیں جانا چاہتے تھے۔
سب نیٹ سیٹنگز کی مثال

سب نیٹ 10.1.1.0 نیٹ ماسک 255.255.255.0 { آپشن راؤٹرز 10.1.1.1؛ پول { "سسکو" کے اراکین سے انکار کریں؛ "پیناسونک" کے اراکین سے انکار؛ "dlink" کے اراکین سے انکار کریں؛ رینج 10.1.1.230 10.1.1.240؛ } پول { "سسکو" کے اراکین کو اجازت دیں؛ رینج 10.1.1.65 10.1.1.69؛ } پول { "پیناسونک" کے ممبروں کو اجازت دیں؛ رینج 10.1.1.60 10.1.1.64؛ } پول { "dlink" کے اراکین کو اجازت دیں؛ رینج 10.1.1.55 10.1.1.59؛ } }

شامل تمام خدمات کو دوبارہ شروع کرنے کے بعد، فونز اعتماد کے ساتھ سیٹنگز کے لیے اپنے تفویض کردہ tftp سرور پر گئے۔ بس ان کو وہاں رکھنا باقی ہے۔

سسکو 7906

میں نے یہ ڈیوائسز ان کی اصل پیکیجنگ میں حاصل کیں۔ نجمہ سے دوستی کرنے کے لیے مجھے اسے تبدیل کرنا پڑا۔ لیکن یہ ایک الگ کہانی ہے۔ ایک مخصوص صورت میں، ڈیوائس کو کنفیگر کرنے کے لیے، ہدایات کے مطابق، میں نے tftp سرور کے روٹ میں فائل SEPAABBCCDDEEFF.cnf.xml بنائی ہے۔ جہاں AABBCCDDEEFF آلہ کا MAC پتہ ہے۔

سسکو سے فون سیٹ کرنے کے بارے میں پہلے ہی ایک سے زیادہ بار لکھا جا چکا ہے، اس لیے میں صرف سیٹنگز کے ساتھ ایک ورکنگ فائل چھوڑ دوں گا۔
سسکو کے لیے ترتیبات

<?xml version="1.0" encoding="UTF-8"?>
<device xsi_type="axl:XIPPhone" ctiid="94">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>root</sshUserId>
<sshPassword>ADMIN_PWD</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>D-M-Y</dateTemplate>
<timeZone>Central Pacific Standard Time</timeZone>
<ntps>
<ntp>
<name>10.1.1.4</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members> <member priority="0"> <callManager>
<name>10.1.1.50</name>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>10.1.1.50</processNodeName>
</callManager> </member> </members>
</callManagerGroup>
<srstInfo>
<srstOption>Disable</srstOption>
</srstInfo>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<sipProfile>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
<retainForwardInformation>false</retainForwardInformation>
</sipCallFeatures>
<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>3600</timerRegisterExpires>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<kpml>3</kpml>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<phoneLabel>Cisco Phone</phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<poundEndOfDial>false</poundEndOfDial>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1" lineIndex="1">
<featureID>9</featureID>
<proxy>10.1.1.50</proxy>
<port>5060</port>
<autoAnswer> <autoAnswerEnabled>2</autoAnswerEnabled> </autoAnswer>
<callWaiting>3</callWaiting>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<featureLabel></featureLabel>
<displayName>User #103</displayName>
<name>103</name>
<authName>103</authName>
<authPassword>SIP_PWD</authPassword>
</line>
</sipLines>
<externalNumberMask>$num</externalNumberMask>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
</sipProfile>
<commonProfile>
<phonePassword>*0#</phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation></loadInformation>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<forwardingDelay>1</forwardingDelay>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>0</videoCapability>
<autoSelectLineEnable>1</autoSelectLineEnable>
<webAccess>0</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>09:00</displayOnTime>
<displayOnDuration>12:00</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>2</loggingDisplay>
<loadServer>10.1.1.50</loadServer>
<recordingTone>0</recordingTone>
<recordingToneLocalVolume>100</recordingToneLocalVolume>
<recordingToneRemoteVolume>50</recordingToneRemoteVolume>
<recordingToneDuration></recordingToneDuration>
<displayOnWhenIncomingCall>0</displayOnWhenIncomingCall>
<rtcp>0</rtcp>
<moreKeyReversionTimer>5</moreKeyReversionTimer>
<autoCallSelect>1</autoCallSelect>
<logServer>10.1.1.50</logServer>
<g722CodecSupport>0</g722CodecSupport>
<headsetWidebandUIControl>0</headsetWidebandUIControl>
<handsetWidebandUIControl>0</handsetWidebandUIControl>
<headsetWidebandEnable>0</headsetWidebandEnable>
<handsetWidebandEnable>0</handsetWidebandEnable>
<peerFirmwareSharing>0</peerFirmwareSharing>
<enableCdpSwPort>1</enableCdpSwPort>
<enableCdpPcPort>1</enableCdpPcPort>
</vendorConfig>
<versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionStamp>
<userLocale>
<name>Russian_Russian_Federation</name>
<langCode>ru_RU</langCode>
<version></version>
<winCharSet>utf-8</winCharSet>
</userLocale>
<networkLocale></networkLocale>
<networkLocaleInfo>
<name></name>
<version></version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL>http://10.1.1.50/provisioning/cisco-services.xml</directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL>http://10.1.1.50/provisioning/cisco-services.xml</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>2</transportLayerProtocol>
<singleButtonBarge>0</singleButtonBarge>
<capfAuthMode>0</capfAuthMode>
<capfList><capf>
<phonePort>3804</phonePort>
<!-- <processNodeName>10.1.1.50</processNodeName> -->
</capf> </capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<advertiseG722Codec>1</advertiseG722Codec>
</device>

D-Link DPH-150S/F3

اگر آپ ابھی اس سیریز میں فون خریدنے والے ہیں تو ہوشیار رہیں، آٹو ٹیوننگ صرف 150S/F3 ڈیوائسز میں سپورٹ ہے۔ میرے ہاتھ میں آنے والے 150S/F2 ڈیوائس پر، مجھے ایسی فعالیت نہیں ملی۔

کنفیگریشن فائل xml یا سادہ ٹیکسٹ فارمیٹ میں ہو سکتی ہے۔ ایکس ایم ایل کے لیے ایک شرط ہے: ٹیگ لائن کے شروع میں ہونا چاہیے، ورنہ تجزیہ کار اسے نظر انداز کر دے گا اور متعلقہ پیرامیٹر کی قدر میں کوئی تبدیلی نہیں آئے گی۔

فون کو ترتیب دینے کے لیے دو فائلیں استعمال کی جاتی ہیں۔ f0D00580000.cfg - تمام فونز کے لیے سیٹنگز کو اسٹور کرنے کے لیے اور انفرادی سیٹنگز کے لیے 00112233aabb.cfg (کم کیس میں میک ایڈریس)۔ انفرادی ترتیبات کو قدرتی طور پر اعلی ترجیح حاصل ہوتی ہے۔

سیٹنگز کے مکمل سیٹ میں ایک ہزار سے زیادہ سطریں ہیں، تاکہ مضمون میں بے ترتیبی نہ ہو، میں سیٹنگز کے کم از کم کافی سیٹ کی وضاحت کروں گا۔

جڑ نوڈ کی ضرورت ہے VOIP_CONFIG_FILE اور نوڈ اس کے اندر گھرا ہوا ہے۔ ورژن. سیٹنگز صرف اس صورت میں لاگو ہوں گی جب فائل کا ورژن ڈیوائس میں موجودہ سیٹنگز سے زیادہ ہو۔ آپ اس قدر کو فون کے ویب انٹرفیس کے ذریعے مینٹیننس سیکشن (سسٹم مینجمنٹ) میں جان سکتے ہیں۔ فیکٹری سیٹنگ والے فونز کے لیے، دونوں صورتوں میں یہ 2.0002 ہے۔ اس کے علاوہ، انفرادی فائل کا ورژن مشترکہ فائل ورژن سے بڑا ہونا چاہیے۔

سب سے پہلے میں تمام فونز کے لیے مشترکہ کنفیگریشن کے ساتھ ایک فائل فراہم کروں گا۔ درحقیقت، یہ تمام سیٹنگز کو اسٹور کرتا ہے؛ انفرادی فائل صرف فون نمبر اور اسکرین پر لکھی تحریر کے لیے ذمہ دار ہوگی۔

ذیل کے دو بلاکس میں، ٹائم زون اور ٹائم سنکرونائزیشن کے پیرامیٹرز سیٹ کیے گئے ہیں، RTP کے لیے ابتدائی پورٹ اور ڈیوائس کے WAN اور LAN کنیکٹرز کے درمیان نیٹ ورک برج فعال ہے۔

ٹکڑا نمبر 1

<GLOBAL_CONFIG_MODULE>
<WAN_Mode>DHCP</WAN_Mode>
<Default_Protocol>2</Default_Protocol>
<Enable_DHCP>1</Enable_DHCP>
<DHCP_Auto_DNS>1</DHCP_Auto_DNS>
<DHCP_Auto_Time>0</DHCP_Auto_Time>
<Host_Name>VOIP</Host_Name>
<RTP_Initial_Port>10000</RTP_Initial_Port>
<RTP_Port_Quantity>200</RTP_Port_Quantity>
<SNTP_Server>10.1.1.4</SNTP_Server>
<Enable_SNTP>1</Enable_SNTP>
<Time_Zone>71</Time_Zone>
<Time_Zone_Name>UCT_011</Time_Zone_Name>
<Enable_DST>0</Enable_DST>
<SNTP_Timeout>60</SNTP_Timeout>
<Default_UI>12</Default_UI>
<MTU_Length>1500</MTU_Length>
</GLOBAL_CONFIG_MODULE>
<LAN_CONFIG_MODULE>
<Enable_Bridge_Mode>1</Enable_Bridge_Mode>
<Enable_Port_Mirror>1</Enable_Port_Mirror>
</LAN_CONFIG_MODULE>

کنفیگریشن پیرامیٹرز کے اصل نام تفصیل سے بیان کرنے سے بچنے کے لیے کافی وضاحتی ہیں۔
ایک لائن کے لیے SIP

<SIP_CONFIG_MODULE>
<SIP__Port>5060</SIP__Port>
<SIP_Line_List>
<SIP_Line_List_Entry>
<ID>SIP1</ID>
<Register_Addr>10.1.1.50</Register_Addr>
<Register_Port>5060</Register_Port>
<Register_TTL>3600</Register_TTL>
<Enable_Reg>1</Enable_Reg>
<Proxy_Addr>10.1.1.50</Proxy_Addr>
<DTMF_Mode>1</DTMF_Mode>
<DTMF_Info_Mode>0</DTMF_Info_Mode>
<VoiceCodecMap>G711A,G711U,G722</VoiceCodecMap>
</SIP_Line_List_Entry>
</SIP_Line_List>
</SIP_CONFIG_MODULE>

ریموٹ کنٹرول کی ترتیبات

<MMI_CONFIG_MODULE>
<Telnet_Port>23</Telnet_Port>
<Web_Port>80</Web_Port>
<Web_Server_Type>0</Web_Server_Type>
<Https_Web_Port>443</Https_Web_Port>
<Remote_Control>1</Remote_Control>
<Enable_MMI_Filter>0</Enable_MMI_Filter>
<Telnet_Prompt></Telnet_Prompt>
<MMI_Filter>
<MMI_Filter_Entry>
<ID>Item1</ID>
<First_IP>10.1.1.152</First_IP>
<End_IP>10.1.1.160</End_IP>
</MMI_Filter_Entry>
</MMI_Filter>
<MMI_Account>
<MMI_Account_Entry>
<ID>Account1</ID>
<Name>admin</Name>
<Password>ADMIN_PWD</Password>
<Level>10</Level>
</MMI_Account_Entry>
<MMI_Account_Entry>
<ID>Account2</ID>
<Name>guest</Name>
<Password>GUEST_PWD</Password>
<Level>5</Level>
</MMI_Account_Entry>
</MMI_Account>
</MMI_CONFIG_MODULE>

فون کی ترتیبات۔

<PHONE_CONFIG_MODULE>
<Menu_Password>123</Menu_Password>
<KeyLock_Password>123</KeyLock_Password>
<Fast_Keylock_Code></Fast_Keylock_Code>
<Enable_KeyLock>0</Enable_KeyLock>
<Emergency_Call>112</Emergency_Call>
<LCD_Title>Company</LCD_Title>
<LCD_Constrast>5</LCD_Constrast>
<LCD_Luminance>1</LCD_Luminance>
<Backlight_Off_Time>30</Backlight_Off_Time>
<Enable_Power_LED>0</Enable_Power_LED>
<Time_Display_Style>0</Time_Display_Style>
<Enable_TimeDisplay>1</Enable_TimeDisplay>
<Alarm__Clock>0,,1</Alarm__Clock>
<Date_Display_Style>0</Date_Display_Style>
<Date_Separator>0</Date_Separator>
<Enable_Pre-Dial>1</Enable_Pre-Dial>
<Xml_PhoneBook>
<Xml_PhoneBook_Entry>
<ID>XML-PBook1</ID>
<Name>Phonebook</Name>
<Addr>http://10.1.1.50/provisioning/dlink-phonebook.xml</Addr>
<Auth>:</Auth>
<Policy>0</Policy>
<Sipline>0</Sipline>
</Xml_PhoneBook_Entry>
</Xml_PhoneBook>
<Phonebook_Groups>friend,home,work,business,classmate,colleague</Phonebook_Groups>
</PHONE_CONFIG_MODULE>

باقی تمام ترتیبات "ڈیفالٹ" رہیں گی۔ اب نیٹ ورک سے جڑا کوئی بھی Dlink فون فوری طور پر سب کے لیے مشترکہ پیرامیٹرز کو قبول کر لے گا۔ ڈیوائس کے لیے انفرادی پیرامیٹرز سیٹ کرنے کے لیے، ایک علیحدہ فائل کی ضرورت ہے۔ اس میں آپ کو صرف انفرادی سبسکرائبر کے لیے ضروری سیٹنگز بتانے کی ضرورت ہے۔
سبسکرائبر کی ترتیبات

<?xml version="1.0" encoding="UTF-8"?>
<VOIP_CONFIG_FILE>
<version>2.0006</version>
<SIP_CONFIG_MODULE>
<SIP_Line_List>
<SIP_Line_List_Entry>
<ID>SIP1</ID>
<Display_Name>User #117</Display_Name>
<Phone_Number>117</Phone_Number>
<Register_Port>5060</Register_Port>
<Register_User>117</Register_User>
<Register_Pswd>SIP_PWD</Register_Pswd>
<Register_TTL>3600</Register_TTL>
<Enable_Reg>1</Enable_Reg>
<Proxy_Port>5060</Proxy_Port>
<Proxy_User>117</Proxy_User>
<Proxy_Pswd>SIP_PWD</Proxy_Pswd>
</SIP_Line_List_Entry>
</SIP_Line_List>
</SIP_CONFIG_MODULE>
</VOIP_CONFIG_FILE>

Panasonic UT-KX123B

یہ آلات قدرے مختلف اسکیم کے مطابق ترتیبات وصول کرتے ہیں۔ کنفیگریشن ٹیکسٹ فائلوں میں محفوظ ہے۔ زیادہ سے زیادہ کنفیگریشن فائل کا سائز 120 KB ہے۔ فائلوں کی تعداد سے قطع نظر، ان کا کل سائز 120 KB سے زیادہ نہیں ہونا چاہیے۔
کنفیگریشن فائل لائنوں کے ایک سیٹ پر مشتمل ہے، جو درج ذیل شرائط سے مشروط ہیں:

  • پہلی سطر ہمیشہ ایک تبصرہ لائن ہوتی ہے، بشمول حروف کی درج ذیل ترتیب (44 بائٹس):
    # Panasonic SIP فون معیاری فارمیٹ فائل #
    اس ترتیب کی ہیکساڈیسیمل نمائندگی:
    23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6E 65 20 53 74 61 6E 64 61 72 64 20 46 6D ج 72 6 61
    حروف کی ترتیب میں حادثاتی تبدیلیوں کو روکنے کے لیے، کنفیگریشن فائل کو لائن کے ساتھ شروع کرنے کی سفارش کی جاتی ہے:
    # Panasonic SIP فون معیاری فارمیٹ فائل # اس لائن کو تبدیل نہ کریں!
  • کنفیگریشن فائلوں کو خالی لائن کے ساتھ ختم ہونا چاہیے۔
  • ہر سطر کو ترتیب کے ساتھ ختم ہونا چاہیے " "
  • زیادہ سے زیادہ سٹرنگ کی لمبائی 537 بائٹس ہے، جس میں ترتیب بھی شامل ہے " "
  • درج ذیل لائنوں کو نظر انداز کر دیا گیا ہے:
    • 537 بائٹ کی حد سے زیادہ لائنیں؛
    • خالی لائنیں؛
    • تبصرہ لائنیں "#" سے شروع ہوتی ہیں؛
  • ہر پیرامیٹر کے لیے سٹرنگ XXX="yyy" (XXX: پیرامیٹر کا نام، yyy: اس کی قدر) کی شکل میں لکھی گئی ہے۔ قیمت کو ڈبل کوٹس میں بند کیا جانا چاہیے۔
  • پیرامیٹر لائن کو کئی لائنوں میں تقسیم کرنے کی اجازت نہیں ہے۔ اس کے نتیجے میں کنفیگریشن فائل پر کارروائی کرنے میں خرابی پیدا ہوگی اور اس کے نتیجے میں، ابتداء میں ناکامی ہوگی۔
  • کچھ پیرامیٹرز کی قدروں کو ہر لائن کے لیے الگ الگ بیان کیا جانا چاہیے۔ نام میں لاحقہ "_1" والا پیرامیٹر لائن 1 کا پیرامیٹر ہے۔ "_2"—لائن 2 وغیرہ کے لیے۔
  • پیرامیٹر کے نام کی زیادہ سے زیادہ لمبائی 32 حروف ہے۔
  • پیرامیٹر کی قدر کی زیادہ سے زیادہ لمبائی 500 حروف ہے، سوائے دوہرے اقتباس والے حروف کو۔
  • سٹرنگ میں اسپیس کی اجازت نہیں ہے جب تک کہ قدر میں اسپیس کریکٹر شامل نہ ہو۔
  • پیرامیٹر کو خالی قدر پر سیٹ کرنے کے لیے کچھ پیرامیٹر ویلیوز کو "خالی" کے طور پر بیان کیا جا سکتا ہے۔
  • پیرامیٹرز کو کسی خاص ترتیب میں بیان نہیں کیا گیا ہے۔
  • اگر ایک ہی پیرامیٹر کو کنفیگریشن فائل میں ایک سے زیادہ بار متعین کیا گیا ہے تو پہلے بیان کردہ قدر کا اطلاق ہوتا ہے۔

کنفیگریشن فائل کے لیے اس طرح کے ایک سنجیدہ سیٹ نے مجھے پریشان کر دیا۔ میری رائے میں، پیناسونک فونز پر کنٹرول سرور کے ساتھ تعامل کا نفاذ انتہائی تکلیف دہ ہے۔ اس پیرامیٹر میں، فون دوسروں سے نمایاں طور پر کمتر ہے۔
جب آپ پہلی بار ڈیوائس کو آن کرتے ہیں (یا اسے فیکٹری سیٹنگز پر ری سیٹ کرنے کے بعد)، تو یہ نام نہاد پروڈکٹ فائل کو لوڈ کرنے کی کوشش کرتا ہے (اس صورت میں یہ KX-UT123RU.cfg ہے)، جس میں اس کے راستے ہونے چاہئیں۔ باقی کنفیگریشن فائلز۔
پروڈکٹ فائل# Panasonic SIP فون معیاری فارمیٹ فائل # اس لائن کو تبدیل نہ کریں!

CFG_STANDARD_FILE_PATH="tftp://10.1.1.50/panasonic/{mac}.cfg"
CFG_PRODUCT_FILE_PATH="tftp://10.1.1.50/panasonic/KX-UT123RU.cfg"
CFG_MASTER_FILE_PATH="tftp://10.1.1.50/panasonic/master.cfg"

اس کے بعد، فون تیاری کے کامیاب ہونے کے بارے میں ایک پیغام دکھائے گا اور اسے دوبارہ شروع ہونے تک انتظار کرے گا۔ اور ریبوٹ کے بعد، یہ اسے تفویض کردہ کنفیگریشن فائلوں پر کارروائی کرنا شروع کر دے گا۔

یہ سفارش کی جاتی ہے کہ master.cfg فائل میں تمام فونز کے لیے عمومی ترتیبات کی وضاحت کریں۔ جیسا کہ ڈلنک کے ساتھ، میں صرف کچھ پیرامیٹرز کی وضاحت کروں گا۔ باقی پیرامیٹرز کے نام اور ان کی قدریں کارخانہ دار کی ویب سائٹ پر موجود دستاویزات میں دیکھی جا سکتی ہیں۔
master.cfg############################## ##########
#سسٹم سیٹنگز#
############################## ##########
## لاگ ان اکاؤنٹ کی ترتیبات
ADMIN_ID="ایڈمن"
ADMIN_PASS="ADMIN_PWD"
USER_ID="صارف"
USER_PASS="USER_PWD"

## سسٹم ٹائم سیٹنگز
NTP_ADDR="10.1.1.4"
TIME_ZONE="660"
DST_ENABLE="N"
DST_OFFSET="60"
DST_START_MONTH="3"
DST_START_ORDINAL_DAY="2"
DST_START_DAY_OF_WEEK="0"
DST_START_TIME="120"
DST_STOP_MONTH="10"
DST_STOP_ORDINAL_DAY="2"
DST_STOP_DAY_OF_WEEK="0"
DST_STOP_TIME="120"
LOCAL_TIME_ZONE_POSIX=""

## Syslog کی ترتیبات
SYSLOG_ADDR="10.1.1.50"
SYSLOG_PORT="514"
SYSLOG_EVENT_SIP="6"
SYSLOG_EVENT_CFG="6"
SYSLOG_EVENT_VOIP="6"
SYSLOG_EVENT_TEL="6"

## فراہمی کی ترتیبات
OPTION66_ENABLE="Y"
OPTION66_REBOOT="N"
PROVISION_ENABLE="Y"
CFG_STANDARD_FILE_PATH="tftp://10.1.1.50/panasonic/{mac}.cfg"
CFG_PRODUCT_FILE_PATH="tftp://10.1.1.50/panasonic/KX-UT123RU.cfg"
CFG_MASTER_FILE_PATH="tftp://10.1.1.50/panasonic/master.cfg"

############################## ##########
#نیٹ ورک کی ترتیبات#
############################## ##########
## آئی پی کی ترتیبات
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## DNS ترتیبات
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## HTTP ترتیبات
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## XML ایپلیکیشن کی ترتیبات
XML_HTTPD_PORT="6666"
XMLAPP_ENABLE="Y"
XMLAPP_USERID=""
XMLAPP_USERPASS=""
XMLAPP_START_URL=""
XMLAPP_INITIAL_URL=" "
XMLAPP_INCOMING_URL=""
XMLAPP_TALKING_URL=""
XMLAPP_MAKECALL_URL=""
XMLAPP_CALLLOG_URL=""
XMLAPP_IDLING_URL=""
XMLAPP_LDAP_URL="10.1.1.50/provisioning/panasonic-phonebook.xml»
XMLAPP_LDAP_USERID=""
XMLAPP_LDAP_USERPASS=""

روایتی طور پر، صرف سبسکرائبر کی سیٹنگز انفرادی ڈیوائس کنفیگریشن فائل میں رہتی ہیں۔
aabbccddeeff.cfgDISPLAY_NAME_1="صارف #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="فعال"
PROFILE_ENABLE_1="فعال"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

گرینڈ اسٹریم GXP-1400

ان فونز کے پیرامیٹرز cfg{mac}.xml نامی ایک xml فائل میں محفوظ ہیں۔ یا cfg{mac} نام کے ساتھ سادہ متن میں۔ یہ فون صرف ایک انفرادی کنفیگریشن فائل کی درخواست کرتا ہے، لہٰذا سیٹنگز کو ایک عام فائل میں منتقل کرکے آپٹمائز کرنا کام نہیں کرے گا۔ گرینڈ اسٹریمز کو ترتیب دینے کی ایک اور خصوصیت پیرامیٹرز کا نام رکھنا ہے۔ ان سب کو نمبر دیا گیا ہے اور P### کے طور پر نامزد کیا گیا ہے۔ مثال کے طور پر:

P1650 – فون کے انتظام کے لیے ویب انٹرفیس کے لیے ذمہ دار (0 – HTTPS, 1 – HTTP)
P47 - کنکشن کے لیے SIP سرور کا پتہ۔

اگر کنفیگریشن ٹیکسٹ فائل میں محفوظ ہے تو پیرامیٹرز کو کسی گروپ بندی کی ضرورت نہیں ہے اور وہ کسی بھی ترتیب میں ہیں۔ # سے شروع ہونے والی لائنوں کو تبصرے کے طور پر سمجھا جاتا ہے۔

اگر سیٹنگز کو xml فارمیٹ میں پیش کیا گیا ہے، تو انہیں نوڈ میں نیسٹ کیا جانا چاہیے۔ ، جس میں بدلے میں گھونسلا ہونا ضروری ہے۔ . تمام پیرامیٹرز متعلقہ ٹیگز کی شکل میں لکھے گئے ہیں جس کے اندر پیرامیٹر ویلیو ہے۔
مثال قائم کرنا

1.0 8 1 1 SIP_PWD صارف نمبر 271 1 271 270 109 ADMIN_PWD USER_PWD آر یو 270 35/گرینڈ اسٹریم 109 TZc-35 36 109 http://36/provisioning/grandstream تیس

ییلنک T19 اور T21

ان ماڈلز کی ڈیوائسز ڈیوائسز کے لیے انفرادی کنفیگریشن فائلز اور ماڈلز کے لیے عام فائلوں کو سپورٹ کرتی ہیں۔ میرے معاملے میں، مجھے بالترتیب y000000000031.cfg اور y000000000034.cfg فائلوں میں عمومی پیرامیٹرز رکھنے تھے۔ انفرادی کنفیگریشن فائلوں کا نام MAC ایڈریس: 00112233aabb.cfg کے مطابق رکھا گیا ہے۔

ییلنک کے لیے سیٹنگز ٹیکسٹ فارمیٹ میں محفوظ ہیں۔ صرف لازمی تقاضے پہلی لائن میں فائل ورژن کی موجودگی ہیں، فارمیٹ #!version:1.0.0.1 میں۔

تمام پیرامیٹرز فارم پیرامیٹر = ویلیو میں لکھے گئے ہیں۔ تبصرے "#" حرف سے شروع ہونے چاہئیں۔ پیرامیٹرز کے نام اور ان کی قدریں کارخانہ دار کی ویب سائٹ پر موجود دستاویزات میں دیکھی جا سکتی ہیں۔
عام ترتیبات#!ورژن:1.0.0.1
# WAN پورٹ کی قسم کو ترتیب دیں؛ 0-DHCP (پہلے سے طے شدہ)، 1-PPPoE، 2-جامد IP پتہ؛
network.internet_port.type = 0
# PC پورٹ کی قسم کو ترتیب دیں؛ 0-راؤٹر، 1-پل (پہلے سے طے شدہ)؛
network.bridge_mode = 1
# ویب سرور کی رسائی کی قسم کو ترتیب دیں؛ 0-غیر فعال، 1-HTTP اور HTTPS (پہلے سے طے شدہ)، 2-HTTP صرف، 3-HTTPS صرف؛
network.web_server_type = 3
# زیادہ سے زیادہ مقامی RTP پورٹ کو کنفیگر کریں۔ یہ 0 سے 65535 تک ہے، ڈیفالٹ ویلیو 11800 ہے۔
network.port.max_rtpport = 10100
# کم از کم مقامی RTP پورٹ کو کنفیگر کریں۔ یہ 0 سے 65535 تک ہے، ڈیفالٹ ویلیو 11780 ہے۔
network.port.min_rtpport = 10000
security.user_name.admin = جڑ
security.user_password = root:ADMIN_PWD
security.user_name.user = صارف
security.user_password = صارف: USER_PWD
# ویب زبان کی وضاحت کریں، درست اقدار ہیں: انگریزی، چینی_S، ترکی، پرتگالی، ہسپانوی، اطالوی، فرانسیسی، روسی، ڈوئچ اور چیک۔
lang.wui = روسی
#LCD زبان کی وضاحت کریں، درست قدریں ہیں: انگریزی (پہلے سے طے شدہ)، چینی_S، چینی_T، جرمن، فرانسیسی، ترکی، اطالوی، پولش، ہسپانوی اور پرتگالی۔
lang.gui = روسی
# ٹائم زون اور ٹائم زون کا نام ترتیب دیں۔ ٹائم زون کی حد -11 سے +12 تک ہے، پہلے سے طے شدہ قدر +8 ہے۔
# ڈیفالٹ ٹائم زون کا نام چین (بیجنگ) ہے۔
#مزید دستیاب ٹائم زونز اور ٹائم زون کے ناموں کے لیے Yealink IP فونز یوزر گائیڈ سے رجوع کریں۔
local_time.time_zone = +11
local_time.time_zone_name = ولادیووستوک
# NTP سرور کے ڈومین نام یا IP ایڈریس کو کنفیگر کریں۔ پہلے سے طے شدہ قدر cn.pool.ntp.org ہے۔
local_time.ntp_server1 = 10.1.1.4
# LCD اسکرین کے لوگو موڈ کو کنفیگر کریں۔ 0-غیر فعال (پہلے سے طے شدہ)، 1-سسٹم لوگو، 2-اپنی مرضی کا لوگو؛
phone_setting.lcd_logo.mode = 1
#ریموٹ فون بک کے رسائی یو آر ایل اور ڈسپلی نام کو کنفیگر کریں۔ X کی حد 1 سے 5 تک ہے۔
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = فون بک
features.remote_phonebook.flash_time = 3600

انفرادی ترتیبات#!ورژن:1.0.0.1
# اکاؤنٹ 1 کو فعال یا غیر فعال کریں، 0-غیر فعال (پہلے سے طے شدہ)، 1- فعال؛
account.1.enable = 1
#اکاؤنٹ 1 کے لیے LCD اسکرین پر دکھائے گئے لیبل کو کنفیگر کریں۔
account.1.label = ٹیسٹ فون
#اکاؤنٹ 1 کے ڈسپلے نام کو کنفیگر کریں۔
account.1.display_name = صارف 998
#رجسٹر کی توثیق کے لیے صارف نام اور پاس ورڈ کنفیگر کریں۔
account.1.auth_name = 998
account.1.password = 998
# رجسٹر صارف کا نام ترتیب دیں۔
account.1.user_name = 998
# SIP سرور ایڈریس کو کنفیگر کریں۔
account.1.sip_server_host = 10.1.1.50
# SIP سرور کے لیے پورٹ کی وضاحت کریں۔ پہلے سے طے شدہ قیمت 5060 ہے۔
account.1.sip_server_port = 5060

نتیجے کے طور پر، میں نے جن فونز کا ذکر کیا ہے ان میں فراہم کردہ شاندار آٹو پروویژن فنکشن کی بدولت، نئے آلات کو نیٹ ورک سے منسلک کرنے میں کوئی مسئلہ نہیں تھا۔ یہ سب فون کے میک ایڈریس کو تلاش کرنے اور ٹیمپلیٹ کا استعمال کرتے ہوئے ایک کنفیگریشن فائل بنانے کے لیے نیچے آیا۔

مجھے امید ہے کہ آپ نے آخر تک پڑھا ہوگا اور جو کچھ آپ نے پڑھا ہے اس سے فائدہ اٹھایا ہوگا۔

آپ کی توجہ کے لئے آپ کا شکریہ.

ماخذ: www.habr.com

نیا تبصرہ شامل کریں