Giải mã tín hiệu dtmf trong Android. Điều khiển thiết bị dễ dàng bằng điện thoại hoặc bộ giải mã DTMF. Để một ứng dụng Android được gọi từ một ứng dụng khác, bạn có thể sử dụng Ý định rõ ràng và ngầm định. Ý định rõ ràng nói rằng

  • 10.02.2022

Gửi công việc tốt của bạn trong cơ sở kiến ​​thức là đơn giản. Sử dụng biểu mẫu bên dưới

Các sinh viên, nghiên cứu sinh, các nhà khoa học trẻ sử dụng nền tảng tri thức trong học tập và làm việc sẽ rất biết ơn các bạn.

Đăng trên http://www.allbest.ru/

Giới thiệu

Sự phát triển của tiến bộ khoa học công nghệ trên thế giới đã góp phần vào sự lan truyền nhanh chóng rộng rãi của thông tin liên lạc di động vào đầu thế kỷ 21, điều này là do nhu cầu thường xuyên trong lĩnh vực truy cập, ở những nơi không thể liên lạc qua điện thoại cố định. .

Nhờ xu hướng giảm giá trên thị trường, hầu hết mọi người dân Nga đều có quyền sử dụng điện thoại di động cá nhân của riêng mình.

Nhiều nhà khai thác viễn thông cung cấp dịch vụ di động. Nhờ sự phát triển của công nghệ Internet, điện thoại IP đã trở nên phổ biến, có một số ưu điểm so với điện thoại di động thông thường, chẳng hạn như cuộc trò chuyện được bảo vệ khỏi bị nghe trộm hoặc ghi lại cuộc trò chuyện trên máy chủ, sử dụng các số ngắn và liên lạc mà không sự tham gia của các nhà cung cấp.

Có một số cách để giao tiếp giữa máy chủ VoIP và điện thoại di động. Một trong những điều rõ ràng nhất là kết nối Internet, thường phải được trả phí bởi nhà khai thác di động, điều này không có lợi gì đặc biệt khi làm cho kết nối Internet cho VoIP rẻ hơn so với các dịch vụ điện thoại của chính họ. Do đó, giá cước có Internet ổn định, cần thiết cho các cuộc gọi qua điện thoại IP, có thể bị phóng đại.

Có một cách để giao tiếp với máy chủ VoIP, thường được gọi là gọi lại, khi máy chủ được cho biết số nào sẽ gọi và máy chủ gọi lại cho thuê bao, kết nối với số mà thuê bao đang gọi. Số này có thể được truyền qua Internet, SMS hoặc quay số bằng âm báo (DTMF).

Không phải lúc nào bạn cũng có thể gửi SMS hoặc sử dụng Internet, đặc biệt nếu thuê bao đang chuyển vùng. Thông thường, phương thức liên lạc duy nhất có sẵn là cuộc gọi di động "truyền thống". Có một cách mà bạn có thể giao tiếp với máy chủ VoIP thông qua cuộc gọi di động; đối với điều này, Gọi lại DTMF được sử dụng theo thuật toán sau:

1. Người đăng ký "A" gọi đến số máy chủ điện thoại

Hình 1. Bước 1

2. Máy chủ điện thoại ngắt kết nối

Hình 2. Bước 2

3. Máy chủ điện thoại gọi lại người đăng ký "A" và chờ câu trả lời

Hình 3 Bước 3

4. Người đăng ký "A" trả lời cuộc gọi

Hình 4. Bước 4

5. Khi quay số bằng âm báo, thuê bao "A" quay số của thuê bao "B"

Hình 5. Bước 5

6. Máy chủ bắt đầu cuộc gọi đến thuê bao "B"

Hình 6. Bước 6

7. Sau khi khởi tạo, máy chủ kết nối kết nối của thuê bao "A" và thuê bao "B". Thuê bao "A" đã nghe thấy quay số đến thuê bao "B".

Hình 7. Bước 7

Thuê bao "B" trả lời cuộc gọi. Cả hai người dùng đều có thể trao đổi tin nhắn thoại.

Hình 8. Bước 8

Do đó, thuê bao "A" và thuê bao "B" thực hiện cuộc gọi đến và họ có thể liên lạc với nhau thông qua máy chủ điện thoại.

Có một phương thức Callthrough, không giống như Callback, không yêu cầu máy chủ gọi lại cho thuê bao "A", nhưng liên quan đến phương thức này, thuê bao "A" trả tiền cho cuộc gọi đi.

Cơ sở để phát triển

Nhược điểm chính của việc khởi tạo cuộc gọi lại sử dụng DTMF là thuê bao "A" cần phải quay số của thuê bao "B" theo cách thủ công sau khi máy chủ gọi lại cho anh ta. Trong nhật ký cuộc gọi trên điện thoại của thuê bao "A", số mà anh ta đã gọi, tức là số máy chủ, vẫn còn trong các cuộc gọi đi và số của cuộc gọi lại đã gọi lại cho anh ta trong các cuộc gọi đến. Thông tin này cho người dùng là không có thông tin. Máy chủ điện thoại có thể được cấu hình để thuê bao "A" được gọi lại bởi một cuộc gọi lại từ các số khác nhau. Điều này có nghĩa là người dùng sẽ có một số lượng lớn các số không quen thuộc trong nhật ký cuộc gọi. Thông tin này là dư thừa và nên được ẩn khỏi người đăng ký. Thông thường, các dịch vụ gọi lại không có quyền truy cập DTMF trực tiếp mà sử dụng kết nối Internet, SMS hoặc thẻ SIM đặc biệt.

Mục đích của sự phát triển

Phát triển một nguyên mẫu hoạt động của một ứng dụng sẽ tạo điều kiện thuận lợi cho việc sử dụng chức năng điện thoại gọi lại DTMF trên các thiết bị Android.

Phần khảo sát và phân tích

di động

Giao tiếp di động - giao tiếp không dây, các vùng truy cập được chia thành các ô hình lục giác tương tự như tổ ong. Một khu vực truy cập như vậy được cung cấp bởi trạm gốc. Đa số các trạm gốc như vậy tạo nên các vùng di động được gọi là mạng di động và các thiết bị sử dụng mạng di động được gọi là điện thoại di động. Trong mạng di động, mỗi ô sử dụng một tập tần số khác nhau từ các ô lân cận để tránh nhiễu và đảm bảo thông lượng được đảm bảo cho mỗi ô.

Các tính năng của mạng di động:

· Sử dụng nhiều trạm gốc cung cấp nhiều lựa chọn hơn so với sử dụng một máy phát lớn. Mỗi ô có thể được gán nhiều tần số tương ứng với trạm gốc. Một nhóm tần số có thể được sử dụng lại nếu các ô liền kề sử dụng các tần số khác nhau.

Hình 9. Sơ đồ tái sử dụng tần số (F1-F4 - các tần số)

· Các thiết bị di động sử dụng ít năng lượng hơn để giao tiếp với tháp, vì vậy Làm thế nào một tín hiệu kém mạnh hơn được yêu cầu để tìm thấy cô ấy do vị trí gần hơn của tháp liên lạc

· Vùng phủ sóng lớn hơn so với một máy phát trên mặt đất, do đó có thể bổ sung thêm tháp di động cho các khu vực có vùng phủ sóng kém, nơi tín hiệu không đạt được do nhiễu.

Khi sắp xếp các ô, tốt nhất nên tránh các vùng ô chồng lên nhau, giữa các ô không được có khoảng trống. Do đó, hình dạng hình học của bìa có thể là các hình như hình tam giác, hình vuông hoặc hình lục giác. Hình dạng của vùng phủ sóng từ các ăng-ten gần giống với một hình lục giác.

Các thiết bị quản lý tín hiệu và định tuyến chúng từ điện thoại di động này sang điện thoại di động khác được gọi là tổng đài điện thoại tự động (PBX). Hiện tại, hầu hết tất cả các tổng đài đều là điện tử.

Bộ quay số (dialer) - một phần của giao diện của bộ điện thoại, cho phép bạn chuyển số của bộ điện thoại mà PBX sẽ kết nối. Từ lâu, người ta đã sử dụng các bộ quay số tạo xung, tạo thành các xung, trong đó mỗi chữ số tương ứng với số xung riêng của nó. Trên bộ điện thoại có một cái đĩa có 10 lỗ. Nguyên tắc kết nối với PBX như sau:

Trên điện thoại, đĩa cuộn từ điểm có số đã chỉ định, sẽ cuộn vào lò xo. Khi đĩa được thả ra, lò xo bắt đầu không bị uốn cong, đĩa bắt đầu chuyển động ngược chiều. Bộ xung tương ứng với việc đóng và mở đường dây điện thoại. Các khoảng dừng được thực hiện giữa một tập hợp các xung để phân biệt một tập ký tự này với một ký tự khác. Phương thức quay số này khá bất tiện, chủ thuê bao phải lấy đĩa nhiều lần và chờ đến khi về chỗ. Sau đó, một bộ nút nhấn xung lực đã xuất hiện, giúp loại bỏ nhược điểm này.

Hiện tại, tín hiệu đa tần số hai âm (Dual Tone Multi-Frequency, DTMF) được sử dụng để quay số. DTMF có thể được sử dụng cho các lệnh mạng điện thoại nội bộ. Trong DTMF, chữ số truyền đi được mã hóa bằng tín hiệu thu được bằng cách cộng hai điện áp hình sin của một tần số nhất định. Hai nhóm bốn tần số của dải âm thanh được sử dụng trong mỗi nhóm.

Bảng 1. Sự tương ứng của các tần số và ký hiệu cho quay số DTMF

Direct Inward System Access (DISA) - chức năng truy cập trực tiếp, cho phép người đăng ký có quyền truy cập vào việc quản lý một trạm điện thoại hoặc một máy chủ điện thoại thông qua tín hiệu DTMF từ điện thoại.

Tổng quan về thị trường di động

Doanh thu của các công ty cung cấp thông tin liên lạc di động ở Nga đang tăng lên, bằng chứng là các báo cáo của họ. Các báo cáo tương tự cho thấy phần lớn doanh thu đến từ truyền thông di động. Vì lợi ích của cả người dùng cá nhân thông thường và người chơi của công ty là giảm chi phí liên lạc di động. Một trong những cách đó là phân tích các dịch vụ sử dụng trong tháng và lựa chọn giá cước phù hợp nhất từ ​​nhà mạng di động.

Thị trường thông tin di động ở Moscow bao gồm ba người chơi, có thể thấy sự phân bổ của họ trên:

Sơ đồ 1: Sự phân bố của những người chơi chính trên thị trường di động

So sánh tỷ giá địa phương ở Moscow

Có thể so sánh ba công ty lớn ở thị trường Moscow có mức giá trọn gói tương tự nhau. Ví dụ: thuế của hạng “Thông minh” đối với MTS, “Bao trọn gói” đối với Megafon và “Tất cả đối với Beeline”. Các biểu giá này cung cấp một gói tùy chọn và một khoản phí đăng ký cho chúng. Hãy so sánh các biểu giá tương tự từ các lớp này. Các gói dịch vụ có thể bao gồm SMS, MMS, Internet và các dịch vụ khác, nhưng trong phân tích này, chúng không được tính đến, vì chúng tôi quan tâm đến giá của cuộc gọi. Vì lý do tương tự, không có mô tả chi tiết về các sắc thái của thuế quan, nếu chúng không ảnh hưởng trực tiếp đến giá cả, tuy nhiên, bạn có thể thấy rằng chất lượng liên lạc ở các khu vực khác nhau trong khu vực có thể khác nhau rất nhiều giữa các nhà khai thác. Cũng không cần tính cước cuộc gọi nếu vượt quá giới hạn cước hàng tháng, vì người kiểm soát chi phí sẽ chọn cước phí phù hợp cho mình, tuy nhiên, cần lưu ý rằng giá cước sau khi vượt quá giới hạn có thể khá cao. cao. Điều đáng chú ý là các cuộc gọi đến trong nước Nga cho cả ba nhóm gói đều miễn phí.

Giá tối thiểu là giá gói "Smart mini" - 200 ?, "XS bao trọn gói" - 199? và "Tất cả cho 200" - 200 ?. Có một số tính năng cho các cuộc gọi trong mạng của nhà điều hành. Trong các cuộc gọi "Smart mini" và "All Inclusive XS" trên khắp nước Nga và trong "Tất cả cho 200" chỉ ở Moscow và Khu vực Moscow. Giá tính đến ngày 15/5/2015.

Bảng 3. Giá gói tối thiểu

Có thể thấy trong bảng, các lựa chọn thuế quan rất giống nhau. Gọi nội mạng là rẻ nhất. Thuê bao của các nhà khai thác khác gọi, đặc biệt là bên ngoài khu vực Moscow sẽ đắt hơn.

Mặc dù giá cước này không dành cho các cuộc gọi đến các quốc gia khác, nhưng một người có thể cần phải gọi ra bên ngoài quốc gia của họ, vì vậy cần xem xét cước phí quốc tế cho các cuộc gọi đến các quốc gia khác.

Bảng 4. Cước trọn gói tối thiểu (cuộc gọi ra nước ngoài)

CIS, rúp mỗi phút

24 Cũng cho Cộng hòa Crimea và thành phố Sevastopol

Châu Âu, rúp mỗi phút

Các quốc gia khác, rúp mỗi phút

Hoa Kỳ, rúp mỗi phút

Canada, rúp mỗi phút

Úc và Châu Đại Dương, rúp mỗi phút

Châu Á, rúp mỗi phút

CIS trong mạng, rúp mỗi phút

Bắc và Trung Mỹ (không có Hoa Kỳ và Canada), rúp mỗi phút

Như có thể thấy từ bảng, tỷ lệ cho các cuộc gọi đến các quốc gia khác đã khá khác nhau. Beeline cung cấp cơ hội gọi đến các số Beeline ở các quốc gia khác với chi phí thấp. Megafon có nhiều chênh lệch giá hơn cho các quốc gia khác nhau, trong khi MTS, ngược lại, có một mức giá duy nhất cho châu Âu và một mức giá duy nhất cho tất cả các quốc gia khác.

Bảng 5. Biểu giá gói nhỏ

Như trong trường hợp giá gói tối thiểu, các điều kiện rất giống nhau, nhưng giá đã khác.

Giá cuộc gọi đến các quốc gia khác đối với gói MTS đối với gói “Thông minh” không khác nhau, đối với Megafon đối với gói “Trọn gói”, nhưng đối với Beeline trong gói “Tất cả”, giá ở nước ngoài hơi khác nhau:

· Trong biểu giá “Tất cả cho 400”: các điều kiện “Tất cả cho 200” + 10 phút đầu tiên mỗi ngày có giá 5 ?, nếu bạn gọi đến các nước CIS, Crimea và Sevastopol.

· Trong biểu giá "Tất cả cho 600": điều kiện "Tất cả cho 400" + 10 phút đầu tiên mỗi ngày có giá 7 ?, nếu gọi đến Azerbaijan, Belarus và Moldova

· Trong biểu giá "Tất cả cho 900": điều kiện "Tất cả cho 600" + 10 phút đầu tiên mỗi ngày có giá 5 ?, nếu gọi đến Châu Âu, Hoa Kỳ và Moldova

· Trong biểu giá "Tất cả cho 1500": điều kiện "Tất cả cho 900" + đến Maldives, Madagascar, Burundi, Bắc Triều Tiên, Papua New Guinea, Seychelles, Somalia, Tokelau, Tunisia một phút có giá 55?

Bảng 6. Giá gói trung bình

Với giá cước nội hạt bằng nhau, giá cuộc gọi đến các nhà khai thác khác ở Nga tại Megafon rẻ hơn 3,3 lần.

Bảng 7. Các gói thuế quan trên mức trung bình

Với mức giá địa phương ngang nhau, giá cuộc gọi đến các nhà khai thác khác ở Nga tại MTS rẻ hơn 3,3 lần.

Bảng 8. Các gói thuế quan lớn

Các mức thuế địa phương này có các điều kiện gần như giống nhau.

Sự kết luận

Giá cước gói rất có lợi nếu bạn sử dụng cho các cuộc gọi nội mạng. Giá các nhà khai thác cạnh tranh được giữ ở cùng một mức. Đối với một thuê bao bình thường nói trong 20-60 phút mỗi ngày, mức giá như vậy là phù hợp. Nếu một người cần nói chuyện hơn 120 phút mỗi ngày, thì anh ta sẽ phải nhận các gói cước đắt hơn từ 1500 đến 2500, tức là đã khá đắt rồi.

Chuyển vùng quốc tế có các điều kiện riêng, khác nhau. Chuyển vùng này tốn kém cho cả ba nhà mạng, một cuộc trò chuyện ba mươi phút có thể vượt quá chi phí của một gói dịch vụ. Nếu thuê bao phải gọi đến các quốc gia khác thì bạn nên chọn giá cước khác.

Cước cho các cuộc gọi đến các quốc gia khác

Thuế đối với các cuộc gọi đến các quốc gia khác có điều kiện được chia thành ba nhóm:

1. Biểu phí cho người thân, bạn bè của khách du lịch

2. Biểu thuế cho người di cư

3. Biểu thuế cho doanh nhân

Biểu phí cho người thân, bạn bè của khách du lịch

Để so sánh, theo biểu giá dành cho người thân và bạn bè của khách du lịch, năm điểm đến nghỉ dưỡng phổ biến đã được lấy:

1. Tây Ban Nha

Các cuộc gọi đến các địa điểm như vậy chỉ được coi là cuộc gọi đến điện thoại di động, vì một khách du lịch không có khả năng ngồi gần điện thoại cố định trong toàn bộ chuyến đi.

MTS có một tùy chọn cước phí "Cuộc gọi quốc tế thuận lợi". Phí đăng ký mỗi tháng là 50? Các cuộc gọi đến năm điểm đến này sẽ có cước phí 10 rúp mỗi phút. Tùy chọn thuế quan tương thích với các biểu thuế khác, chẳng hạn như "Thông minh".

Beeline có biểu giá "Chào mừng". Chi phí chuyển đổi sang biểu giá này là 150 ?, không có phí thuê bao hàng tháng cho biểu giá, nhưng có phí hàng ngày là 4,45? cho các tùy chọn bao gồm trong biểu giá. Chi phí của các cuộc gọi đến Thổ Nhĩ Kỳ là 6? trong một phút. Thật không may, không có thông tin về các quốc gia khác trong số năm quốc gia du lịch. Trên trang định giá:

http://moskva.beeline.ru/customers/products/mobile/tariffs/details/dobro-pozhalovat/

Hình 10. Ảnh chụp màn hình khu vực từ trang thuế quan Beeline "Chào mừng"

Quá trình chuyển đổi chuyển hướng đến địa chỉ:

http://moskva.beeline.ru/customers/products/mobile/roaming/roaming-new/

Trong giao diện trang, chứa ba siêu liên kết.

Hình 11. Giao diện trang "Chuyển vùng, đường dài và liên lạc quốc tế"

"Chuyển vùng khi đi du lịch vòng quanh thế giới", "Chuyển vùng khi đi du lịch vòng quanh Nga" và "Cuộc gọi từ nhà đến các thành phố và quốc gia khác". Rõ ràng, giá cho các cuộc gọi đến các quốc gia khác nên nằm trên siêu liên kết thứ ba. Trang tại liên kết này cung cấp một giao diện để truy vấn máy chủ Beeline để biết thông tin.

Hình 12. Ảnh chụp màn hình từ trang "Cuộc gọi từ nhà đến các thành phố và quốc gia khác" sau khi yêu cầu "Síp" với tỷ lệ "Chào mừng"

Nếu bạn kiểm tra giá, ví dụ, đối với Síp, thì thay vì giá đối với Síp, các điều kiện chung của biểu thuế sẽ được chỉ định. Sẽ không có điều kiện riêng cho Síp. Trong đoạn "Cuộc gọi đến các quốc gia khác" có một siêu liên kết được gọi là "Theo giá cước cho các cuộc gọi quốc tế" với địa chỉ:

http://moskva.beeline.ru/customers/products/mobile/roaming/

Đối với thông tin này không có sẵn, như được hiển thị trước đó.

Rất khó để kết luận thông tin đó có bị cố tình che giấu, hay lỗi thiết kế giao diện hay không. Hiện tại, tôi chưa nhận được bất kỳ lời giải thích lành mạnh nào từ đại diện của Beeline, vì vậy tôi cho rằng không thể so sánh mức thuế của Beeline khi không có thông tin chính thức.

Megafon cho các cuộc gọi đến các quốc gia khác cung cấp tùy chọn "Gọi đến tất cả các quốc gia" Trong 30 ngày đầu tiên, bạn sẽ bị tính phí 60?, Sau đó phí hàng ngày là 2? Vào một ngày. Các cuộc gọi đến Ý, Tây Ban Nha, Síp và Hy Lạp có giá 6? mỗi phút và đến Thổ Nhĩ Kỳ 8? trong một phút.

Thuế cho người di cư

Trong biểu thuế đối với người di cư, giá của các nước SNG và các nước láng giềng được xem xét.

MTS trong tùy chọn "Cuộc gọi quốc tế thuận lợi" cung cấp các cuộc gọi đến CIS (ngoại trừ Azerbaijan và Belarus) với mức giá 15? mỗi phút và đến Azerbaijan và Belarus với mức giá 20? trong một phút.

Beeline có các điều kiện đặc biệt đối với Tajikistan trong biểu giá "Chào mừng". Đối với các cuộc gọi đến số Beeline từ 1 phút - 7 ?, phút tiếp theo 1 ?. Đối với các cuộc gọi đến số Beeline của Armenia, Kazakhstan, Kyrgyzstan và các số Kyivstar của Ukraine - 2,5? trong một phút. Đối với các cuộc gọi đến các số khác ở Tajikistan, Armenia, Ukraine, Kazakhstan, Kyrgyzstan, cũng như bất kỳ số nào ở Turkmenistan - 7? trong một phút. Một cuộc gọi đến Azerbaijan và Belarus có giá 13? trong một phút. Tới số của Uzbekistan Beeline - 3? mỗi phút, còn lại 4? trong một phút.

Trong tùy chọn "Gọi cho tất cả các quốc gia", các cuộc gọi từ Megafon đến Azerbaijan và Belarus có giá 15? mỗi phút, đến Ukraine - 10? mỗi phút, Armenia, Kazakhstan và Kyrgyzstan - 8? mỗi phút, ở Tajikistan và Turkmenistan - 6? mỗi phút, đến Uzbekistan - 5? trong một phút. Megafon cũng có một tùy chọn đặc biệt "Tajikistan +" cho Tajikistan. Phút đầu tiên của cuộc trò chuyện có giá 7 ?, cho đến phút thứ 20, phút có giá 1 ?, và từ phút thứ 21 giá 7?.

Biểu thuế cho doanh nhân

Một doanh nhân có thể có nhu cầu giao tiếp với bất kỳ quốc gia nào. Mục đích của việc xem xét này là để so sánh mức giá cho các biểu thuế khác nhau chứ không phải để tạo ra một so sánh giá hoàn chỉnh cho tất cả các quốc gia, vì vậy 5 quốc gia đã được chọn để một doanh nhân có thể gọi điện.

3. Đức

5. Vương quốc Anh

MTS trong tùy chọn "Cuộc gọi quốc tế thuận lợi" cung cấp các cuộc gọi đến Trung Quốc với giá 1,5? mỗi phút, US 5? mỗi phút, Đức và Anh 10? mỗi phút, đến Nhật Bản ở mức 25? trong một phút.

Biểu giá "Chào mừng" của Beeline cung cấp các cuộc gọi đến Trung Quốc cho 2? trong một phút.

Megafon trong tùy chọn "Gọi tất cả các quốc gia" cung cấp các cuộc gọi đến Trung Quốc cho 1? mỗi phút, US 4? mỗi phút, Đức ở mức 6? mỗi phút, Vương quốc Anh ở mức 11? mỗi phút, đến Nhật Bản lúc 9 giờ? trong một phút.

Sự kết luận

Đối với các điểm du lịch được xem xét, lựa chọn có lợi nhất là từ Megafon "Gọi tất cả các quốc gia". Dữ liệu trên Beeline là không đủ.

Trong các khu vực được coi là dành cho người di cư, giá của Beeline và Megafon cạnh tranh nhau, MTS là đắt nhất.

Trong các lĩnh vực được coi là dành cho doanh nhân, giá của MTS và Megafon cạnh tranh, không có đủ dữ liệu trên Beeline.

Chuyển vùng

Nhiều nhà khai thác cung cấp dịch vụ chuyển vùng khi có thể sử dụng thẻ SIM của nhà khai thác mạng của họ với mạng của nhà khai thác khác. Có chuyển vùng đường dài và quốc tế. Có thể cần chuyển vùng đường dài nếu người đăng ký đi tàu hỏa. Những người đăng ký như vậy có thể nhanh chóng thay đổi vị trí trên bản đồ, vì vậy anh ta không thể mua thẻ SIM địa phương từ một nhà khai thác địa phương cho mỗi điểm anh ta đi qua.

Chuyển vùng quốc tế thường đắt hơn chuyển vùng đường dài.

Đối với chuyển vùng quốc tế, MTS cung cấp dịch vụ Không Biên giới. Phí đăng ký cho dịch vụ này là 60? Vào một ngày. Đối với một số điểm đến, các cuộc gọi đến có thể được miễn phí trong 10 phút đầu tiên, nhưng sau khi sử dụng hết giới hạn 200 phút mỗi tháng, mỗi phút gọi đến sẽ có giá 25 phút? trong một phút.

Đối với Hy Lạp, Đức và Thổ Nhĩ Kỳ, sẽ có lợi hơn nếu sử dụng dịch vụ Du lịch miễn phí. Phí đăng ký là 100? Vào một ngày. Dịch vụ cung cấp 60 phút mỗi ngày cho các cuộc gọi đến và đi đến các số Nga.

Bảng 9. Giá cho "Không biên giới" theo các điểm du lịch

Nhiều khả năng người di cư sẽ không gặp khó khăn trong việc áp dụng thuế địa phương, vì vậy hướng đi này sẽ không được xem xét riêng đối với các nước SNG.

Điều quan trọng đối với các doanh nhân là phải luôn giữ liên lạc, cùng một số, vì vậy họ khó có thể đồng ý đổi thẻ SIM thành SIM địa phương.

Hình 13. Giá Không Biên giới theo ngành nghề kinh doanh

nước Đức

Nước Anh

Cuộc gọi đến (10 phút đầu tiên), rúp mỗi phút

Cuộc gọi đến (từ 11 phút), rúp mỗi phút

Cuộc gọi đi đến các số Nga (1 phút và bắt đầu từ 6 phút), rúp mỗi phút

Cuộc gọi đi đến các số Nga (từ 2 đến 5 phút), rúp mỗi phút

Cuộc gọi đi đến các số của nước sở tại, rúp mỗi phút

Cuộc gọi đi đến các số của các quốc gia khác, rúp mỗi phút

Để chuyển vùng quốc tế, Beeline cung cấp dịch vụ My Planet. Chi phí kết nối dịch vụ là 25 ?. Đối với tất cả các địa điểm du lịch, cuộc gọi đến có giá 15? mỗi phút, đi đến bất kỳ quốc gia nào và trong phạm vi quốc gia sở tại 25? trong một phút. Các mức giá tương tự cho các khu vực gần đó ở nước ngoài và các khu vực kinh doanh đã đề cập trước đó, ngoại trừ Nhật Bản, đối với khu vực nào sắp tới là 19? mỗi phút và gửi đi 49 mỗi phút.

Đối với chuyển vùng quốc tế, Megafon cung cấp hai tùy chọn: "Toàn thế giới" và "Vòng quanh thế giới". "Cả thế giới" cung cấp 30 phút cuộc gọi đến miễn phí mỗi ngày với mức phí hàng tháng là 39? trong tiếng gõ. "Vòng quanh thế giới" kết nối cho 15? và có phí đăng ký hàng ngày là 9 ?. Các cuộc gọi đến và đi trong Châu Âu và SNG, Thổ Nhĩ Kỳ, Abkhazia và Nam Ossetia có giá 6? mỗi phút, cho Nhật Bản 9? mỗi phút, cho Hoa Kỳ và Trung Quốc 36? trong một phút. Đối với các cuộc gọi đến Nga, Megafon sử dụng Callback.

Sự kết luận

Chuyển vùng quốc tế, không giống như các biểu giá khác, có thể có cuộc gọi đến trả phí, giá có thể lên tới 200? trong một phút.

Đánh giá thị trường Truyền thông VoIP

Ngoài các nhà khai thác mạng di động, còn có các nhà khai thác cung cấp dịch vụ điện thoại Thoại qua IP (VoIP). Sự khác biệt chính của kết nối này là việc sử dụng Internet để kết nối các thuê bao. Một số công ty cung cấp các dịch vụ VoIP khác nhau, thường kết nối của hai hoặc nhiều thuê bao của một công ty VoIP qua Internet là miễn phí. Các dịch vụ này được cung cấp bởi các sản phẩm Skype, Hangouts, Viber.

VoIP không chỉ có thể giao tiếp qua Internet mà còn qua mạng di động. Đối với điều này, các cổng GSM-VoIP được sử dụng. Đối với máy chủ VoIP, bạn có thể cấu hình Định tuyến Chi phí Ít nhất - tự động lựa chọn tuyến đường cho cuộc gọi tùy thuộc vào số. Máy chủ tự chọn biểu giá có lợi nhất để truy cập mạng, và do đó, chi phí liên lạc sẽ giảm xuống.

Giá VoIP có thể phụ thuộc vào tỷ giá hối đoái hoặc được chỉ định bằng đơn vị tiền tệ khác, để so sánh, tất cả giá sẽ được chuyển đổi thành rúp theo tỷ giá hối đoái kể từ ngày 26 tháng 5 năm 2015 được chỉ định trên trang web của Ngân hàng Trung ương Liên bang Nga. tỷ lệ cho ngày này:

Bảng 10. Tỷ giá hối đoái tính đến ngày 26/5/2015

Skype cung cấp các mức giá sau cho các cuộc gọi đến các số điện thoại di động của Síp:

Bảng 12. Giá Skype cho các cuộc gọi đến Síp

Skype cung cấp các mức cước phí sau cho các cuộc gọi đến các số điện thoại di động Thổ Nhĩ Kỳ:

Bảng 13. Giá Skype cho các cuộc gọi đến Thổ Nhĩ Kỳ

Skype cung cấp các mức giá sau cho các cuộc gọi đến điện thoại di động và điện thoại cố định của Hoa Kỳ:

Bảng 14. Giá Skype cho các cuộc gọi đến Hoa Kỳ

Skype cung cấp các mức cước phí sau cho các cuộc gọi đến các số điện thoại di động ở Nhật Bản:

Bảng 15. Giá Skype cho các cuộc gọi đến Nhật Bản

Ứng dụng trò chuyện cung cấp các mức giá sau cho các cuộc gọi đến điện thoại di động và điện thoại cố định ở Trung Quốc:

Bảng 16. Giá Skype cho các cuộc gọi đến Trung Quốc

Theo các mức thuế được xem xét cho Skype, chúng tôi có thể kết luận rằng chúng có thể có lợi hơn so với các mức thuế tương tự đối với ba nhà lãnh đạo trong lĩnh vực liên lạc di động.

Viber

Viber Out cung cấp các mức giá sau:

Bảng 17. Giá Viber Out

Một máy chủ VoIP có thể được cài đặt trên một máy tính thông thường, vì vậy các giải pháp VoIP thường được sử dụng trong các công ty để giao tiếp với khách hàng hoặc để giao tiếp mạng nội bộ. Người quản trị hệ thống có thể kiểm soát kết nối này. Anh ta có thể thiết lập bảo mật liên lạc và ghi lại các cuộc trò chuyện. Máy chủ có thể được cấu hình với DISA để các máy khách đang gọi có thể nhập lệnh ở chế độ DTMF mà PBX ảo sẽ chấp nhận. Bạn cũng có thể định cấu hình cổng cho một máy chủ như vậy, cổng này sẽ cho phép bạn gọi và nhận tín hiệu di động.

Sự kết luận

Sử dụng VoIP có thể cắt giảm chi phí liên lạc, đặc biệt là ở những nơi có internet miễn phí và ổn định. Với VoIP, bạn không phải lo lắng về việc chuyển vùng. Biểu giá cho VoIP không phức tạp như biểu giá của các nhà khai thác mạng di động.

Tổng quan về cuộc gọi lại qua điện thoại

Trên thực tế, giao tiếp Internet có một vùng phủ sóng hạn chế và bản thân dịch vụ Internet cũng phải trả phí. Đồng thời, giá VoIP vẫn hấp dẫn.

Nếu có kết nối Internet nhưng không ổn định, thì dịch vụ Callback sẽ ra tay giải cứu. Số mà thuê bao muốn gọi được gửi đến máy chủ VoIP và máy chủ đã gọi lại cho thuê bao qua một kênh di động, sau đó nó bắt đầu quay số đến một thuê bao khác và kết nối hai thuê bao này. Nếu không thể sử dụng Internet, bạn có thể gửi tin nhắn SMS đến số máy chủ VoIP với số thuê bao "B" được thuê bao "A" gọi. Ngoài ra còn có các thẻ SIM có các thông số cần thiết cho điện thoại Gọi lại. Các nhà khai thác này tiết kiệm tiền bằng cách sử dụng VoIP, vì vậy giá cước của họ rẻ hơn.

Các dịch vụ như vậy được cung cấp bởi MTS. Mã * 137 * được thêm vào số của người đăng ký và # ở cuối. Sau khi gửi yêu cầu, có cuộc gọi đến, nếu bạn trả lời thì kết nối với thuê bao đã gửi yêu cầu sẽ bắt đầu. Cước phí của một cuộc gọi lại phụ thuộc vào quốc gia cư trú của người đăng ký.

Megafon cũng cung cấp các dịch vụ như vậy: một cuộc gọi lại có thể xảy ra trong quá trình quay số bình thường nếu dịch vụ "Vòng quanh thế giới" được kích hoạt.

Có một cách khác để chuyển số thuê bao "B" từ thuê bao "A" đến máy chủ - sử dụng tín hiệu DTMF. Phương pháp này tốt vì bất kỳ điện thoại hiện đại nào cũng có thể tạo ra tín hiệu DTMF và các cuộc gọi đến đều miễn phí đối với nhiều nhà khai thác.

Vì bất kỳ điện thoại nào có hệ điều hành Android đều có thể tạo ra tín hiệu DTMF nên phương pháp này là linh hoạt nhất, nó yêu cầu kết nối tối thiểu các dịch vụ bổ sung và không yêu cầu thẻ SIM. Đây là phương pháp mà chủ sở hữu máy chủ VoIP của riêng họ có thể sử dụng để kết nối các thuê bao.

Phân tích các chương trình có chức năng có thể được sử dụng để tạo điều kiện thuận lợi cho việc sử dụng chức năng Gọi lại

thực hiện trực tiếp Rất khó tìm thấy các ứng dụng cho DTMF Callback mà không tham chiếu đến nhà điều hành.

Có những triển khai các chức năng có thể hữu ích khi sử dụng DTMF Callback.

Một trong những cách triển khai này thường được gọi là tiền tố. Các chương trình này bắt một cuộc gọi đến hoặc đi và thêm cái gọi là tiền tố hoặc hậu tố vào đó, tức là chúng điền số điện thoại vào trước hoặc sau số đó, loại số này thu được: hậu tố tiền tố xxxxxxxxx, trong đó x là bất kỳ ký hiệu nào của số.

Nhiệm vụ của các chương trình này trong việc triển khai Callback sẽ là thêm tín hiệu DTMF sau một sự kiện nhất định.

Tiền tố

Gần nhất để giải quyết vấn đề này là Tiền tố từ 253 ° Dưới đây. Chương trình này chứa các quy tắc mà bạn có thể định cấu hình:

C. Lịch làm việc của chương trình

d. Số sẽ được ghi trong nhật ký cuộc gọi

e. Các con số mà quy tắc sẽ hoạt động

Như sau từ giao diện chương trình, các quy tắc có thể được cấu hình cho cả cuộc gọi đến và cuộc gọi đi. Tức là, chương trình sẽ thêm một số khi có cuộc gọi đến. Về lý thuyết, nếu bạn gửi hậu tố “,” để tạm dừng hoặc “;” để đợi âm quay số, bạn có thể gửi số DISA.

Hình 14. Ảnh chụp màn hình của prefixer " Một

Đối với các cuộc gọi đi, chương trình thực sự thêm tiền tố và hậu tố, nhưng đối với các cuộc gọi đến, trái với các quy tắc đã cấu hình, nó không thêm bất cứ điều gì. Có nghĩa là, trong thực tế, nó không thể được sử dụng cho giao tiếp DTMF Callback, nhưng nó có thể được sử dụng để thực hiện Callback từ MTS.

Có một cách để gõ một ký tự hoặc một nhóm ký tự nhất định trên bàn phím. Thông thường, các chương trình có chức năng như vậy được sử dụng để mở rộng các chức năng của bàn phím hoặc giao diện điều khiển Android. Để thuê bao không nhập toàn bộ số từ bộ nhớ khi máy chủ Callback gọi lại thì có thể sử dụng giả lập bấm số. Trong trường hợp này, điện thoại sẽ gửi tín hiệu DTMF, như thể người dùng tự nhập chúng. Có khá nhiều chương trình có chức năng này.

bàn phím trò chơi

Để kiểm tra khả năng này, Gamekeyboard từ Locnet đã được sử dụng. Quyền root được yêu cầu để sử dụng chương trình. Chương trình này chứa các macro trong đó bạn có thể viết ra những ký tự nào sẽ được nhập với khoảng thời gian nào. Bạn có thể tùy chỉnh kích thước và vị trí trên màn hình của nút ảo sẽ kích hoạt macro. Khá khó để tạo macro cho chương trình này từ điện thoại, vì vậy phạm vi của nó bị giới hạn ở một số lượng nhỏ các số yêu thích. Chương trình này hỗ trợ các cấu hình, vì vậy về mặt lý thuyết có thể phát triển một ứng dụng tạo macro cho số đã gọi và liên kết với một nút. Giải pháp này sẽ cho phép thuê bao không lưu số của thuê bao trong bộ nhớ và không phải quay số toàn bộ. Tuy nhiên, các hành động bổ sung từ người dùng vẫn được yêu cầu.

Quyền gốc - quyền truy cập tất cả các chức năng của hệ thống UNIX. Vì Android là hệ điều hành giống UNIX, nó cũng cung cấp quyền root nhưng các nhà sản xuất điện thoại thường hạn chế quyền truy cập vào chúng. Nhà sản xuất có thể lập trình làm phức tạp việc giành quyền root, đưa ra lệnh cấm flash. Nhà sản xuất có thể cung cấp một công cụ để có được quyền root, nhưng với sự từ chối trách nhiệm về đảm bảo của người dùng nhận được quyền root. Mặc dù vậy, nó xảy ra rằng cách duy nhất để triển khai một số chức năng là có quyền truy cập root.

Sự kết luận

Hầu hết các giải pháp cho DTMF Callback đều gắn liền với việc sử dụng một nhà điều hành cụ thể. Mặc dù có các công cụ phần mềm giúp bạn dễ dàng sử dụng DTMF Callback, nhưng không có giải pháp toàn diện nào giải quyết cụ thể vấn đề này. Sẽ có lợi cho các chủ sở hữu máy chủ của họ cung cấp giao tiếp VoIP để sử dụng phương pháp DTMF.

Phần công nghệ

Phân tích các công cụ phát triển cho Android

Ngôn ngữ chính để viết các ứng dụng tùy chỉnh cho Android là Java. Giao diện lập trình (API) để làm việc với các chức năng của Android liên quan đến việc sử dụng Java. Để tạo ứng dụng được viết bằng Java cho Android, hãy sử dụng Công cụ xây dựng từ Bộ phát triển phần mềm Android (SDK). Có một cách để viết ứng dụng bằng C / C ++ để giúp ứng dụng chạy nhanh hơn. Đối với điều này, Bộ phát triển bản địa được sử dụng. Có một giải pháp phát triển C # được gọi là Xamarin cho phép bạn tạo các ứng dụng đa nền tảng. Để phát triển Python trên Android, bạn có thể sử dụng một trong số các giải pháp được liệt kê trong bảng:

Bảng 18. So sánh việc triển khai python cho Android

Python dành cho Android

Kịch bản Android

Python trên chip

Khung công tác kivy cho phép bạn tạo các ứng dụng đa nền tảng. Nó có thể được liên kết với python cho Android. Sau đó, có thể viết các ứng dụng đa nền tảng chạy trên Android. Ngoài ra còn có một trình bao bọc để gọi các lớp Java từ API Android được gọi là PyJNIus.

Các giải pháp như kivy hoặc Xamarin có lợi thế nếu ứng dụng được phát triển không chỉ cho Android mà còn cho các nền tảng khác. Tuy nhiên, khi sử dụng các tính năng dành riêng cho Android, bạn phải sử dụng Android API. Điều này không mang lại lợi thế cho tác vụ, vì Android có các chi tiết cụ thể riêng với hoạt động của các chức năng điện thoại.

Cơ sởđể phát triển Android - Công cụ SDK

Bộ công cụ phát triển Android chính được bao gồm trong gói Công cụ SDK. Gói này bao gồm các công cụ để làm việc với các thiết bị ảo. Trình quản lý thiết bị ảo Android (AVD) được thiết kế để chạy và cấu hình trình giả lập. Để tạo một trình giả lập, một hình ảnh hệ thống được sử dụng. Những hình ảnh như vậy có thể được tải xuống trong giao diện đồ họa hoặc giao diện điều khiển của chương trình Trình quản lý SDK Android. Trong giao diện Trình quản lý SDK Android, đối với một phiên bản Android, bạn có thể chọn nhiều hình ảnh sẽ mô phỏng các thiết bị khác nhau.

Hình 15. Ảnh chụp màn hình GUI Trình quản lý SDK Android

Một công cụ quan trọng là Android Debug Bridge (adb), một chương trình được thiết kế để gỡ lỗi các thiết bị Android. Adb được chạy từ dòng lệnh và được điều khiển thông qua giao diện console. Adb hoạt động với các thiết bị khác nhau được kết nối với máy tính:

Các thiết bị được kết nối qua USB

Các thiết bị được kết nối Wi-Fi

Thiết bị giả lập

adb cho phép:

cài đặt hoặc gỡ bỏ các ứng dụng khỏi thiết bị

làm việc với lệnh shell của thiết bị

làm việc với trình quản lý gói

khởi chạy Ý định

làm việc với LogCat

SDK bao gồm một tập hợp lớn các công cụ được tích hợp vào môi trường phát triển bằng cách nào đó, chẳng hạn như Công cụ xây dựng được bao gồm trong Eclipse hoặc Android Studio.

Môi trường phát triển tích hợp studio android

Hiện tại, môi trường phát triển tích hợp (IDE) chính thức cho Android là Android Studio. IDE này dựa trên IntelliJ IDEA của JetBrains và bao gồm một số tính năng:

· Tập lệnh Gradle để xây dựng apk

Xây dựng các biến thể và tạo nhiều apk

Mẫu mã

Trình chỉnh sửa lớp (bố cục)

Ký đơn

Hỗ trợ tích hợp cho Google Cloud Platform và khả năng tích hợp Google Cloud Messaging và App Engine

Android Studio cho phép bạn cài đặt song song các ứng dụng đã xây dựng trên một số thiết bị được kết nối qua adb.

Android Studio hỗ trợ hệ thống kiểm soát phiên bản.

Trình chỉnh sửa mã nguồn trong Android Studio có một số tính năng giúp phát triển dễ dàng hơn:

Hoàn thành từ

Trợ giúp cho các lỗi trong mã

Đánh dấu cú pháp cho các tệp java và xml

nhập tự động từ thư viện Android nếu một lớp từ nó được sử dụng

làm xám các biến chưa được sử dụng

bình luận dòng mã

nhảy qua các tệp khác nhau của dự án để tìm kiếm từ đã chọn

Android Studio là một công cụ mạnh mẽ được khuyến nghị để phát triển Android, vì vậy chúng tôi đã quyết định sử dụng nó trong quá trình phát triển.

điện thoại gọi lại lập trình android

Tổng quan về ngôn ngữ lập trình Python

Python là một ngôn ngữ cấp cao kết hợp một số mô hình lập trình như:

· Lập trình hướng đối tượng. Mọi thứ trong python đều là một đối tượng: chuỗi, lớp, số, v.v. Ví dụ: nếu chúng tôi lấy số "1" và thêm số "2" vào nó:

thì phương thức __add__ sẽ thực sự được gọi trên đối tượng 1, đối tượng này sẽ nhận kiểu Integer, vì vậy mục nhập sau sẽ cho cùng một kết quả:

· Đánh máy động. Kiểu được đặt tự động trong quá trình thực thi chương trình. Ưu điểm của kiểu gõ này là dễ viết chương trình và sự phát triển nhanh chóng của phương pháp này bởi người lập trình. Trong python, bạn có thể tự chỉ định loại. Sử dụng chức năng "loại", bạn có thể tìm ra loại của một đối tượng. Với sự trợ giúp của các hàm "int" và "float", bạn có thể thay đổi kiểu. Vì vậy, bạn có thể biểu diễn số 1 dưới dạng một chuỗi với giá trị 1 hoặc dưới dạng số dấu phẩy động. Thí dụ:

>>> b = str (1)

>>> c = float (1)

Nếu bạn kiểm tra loại biến, thì "a" sẽ có "int", "b" sẽ có "str" ​​và "c" sẽ có "float"

>>> printtype (a)

>>> printtype (b)

>>> printtype (c)

Gõ mạnh. Python thường được coi là một ngôn ngữ đối tượng được đánh máy mạnh.

· Lập trình chức năng. Trong python, bạn có thể sử dụng các hàm đệ quy, đánh giá lười biếng và các hàm bậc cao hơn

· Lập trình mệnh lệnh. Python hỗ trợ phương pháp lập trình thủ tục, trong python bạn có thể sử dụng các mô-đun.

Python được coi là một ngôn ngữ khá đơn giản và là ngôn ngữ đại học phổ biến nhất ở Mỹ.

Mã Python được thực thi từng dòng, do đó, lỗi trong mã thường chỉ có thể được nhận thấy sau khi thực hiện dòng này. Các chương trình được tạo bằng python cho android mất nhiều thời gian để bắt đầu.

Để chạy một ứng dụng như vậy, phương tiện kỹ thuật phải là thiết bị thông tin liên lạc có các đặc điểm sau:

· Thiết bị phải có 10 MB bộ nhớ trống trong bộ nhớ trong để cài đặt ứng dụng và lưu trữ dữ liệu.

Thiết bị phải có phần mềm sau:

Một. Android 2.2 trở lên

b. OpenGL ES 2.0

Các yêu cầu về bộ nhớ trong là do ứng dụng được cài đặt sẽ chứa python cho android và kivy. Python cho Android yêu cầu OpenGL ES 2.0, có sẵn trong Android kể từ phiên bản 2.2.

Tổng quan về ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình hướng đối tượng. Với sự trợ giúp của trình biên dịch, mã nguồn Java được chuyển đổi thành mã byte chứa một bộ hướng dẫn cho máy Java. Cách tiếp cận này cung cấp sự độc lập của nền tảng. Trong trường hợp phát triển Android Java, Dalvik chính là cỗ máy. Sử dụng máy như vậy có thể làm giảm năng suất rất nhiều.

Khái niệm Java về hướng đối tượng tương tự như python: “Java có một đối tượng siêu lớp đặc biệt và tất cả các lớp đều là lớp con của nó. Do đó, một biến tham chiếu của lớp Object có thể tham chiếu đến một đối tượng của bất kỳ lớp nào khác.

Java có một hệ thống kiểm soát truy cập linh hoạt, được thiết lập bởi các bổ trợ lớp riêng tư, công khai, được bảo vệ hoặc không có bổ trợ:

Bảng 19. Công cụ sửa đổi và quyền truy cập trong Java

Phát triển một giao diện để sử dụng đơn giản chức năng điện thoại gọi lại

Giao diện đơn giản nhất cho người dùng là giao diện tiêu chuẩn của hệ thống của mình. Thuật toán cuộc gọi khi sử dụng hàm Callback không được khác với thuật toán khởi tạo cuộc gọi thông thường.

Giao diện của một chương trình như vậy sẽ giúp thực hiện các chức năng sau:

1. Gọi lại

o Khởi chạy ứng dụng khi bắt đầu cuộc gọi từ danh bạ (Danh bạ)

o Bắt đầu cuộc gọi đến máy chủ điện thoại

o Nhận cuộc gọi từ máy chủ điện thoại

o Xác định rằng một liên kết đã được thiết lập

o Phân tích tín hiệu DTMF từ máy chủ

o Truyền tín hiệu DTMF trong khi gọi

2. Làm việc với lịch sử

o Khả năng xóa thông tin khỏi nhật ký hệ thống lịch sử cuộc gọi

o Khả năng thêm thông tin vào nhật ký lịch sử cuộc gọi của hệ thống

3. Cài đặt

o Bật / tắt cấu hình

o Khả năng chọn một hồ sơ

o Khả năng tùy chỉnh hồ sơ

o Khả năng thêm hồ sơ

o Khả năng xóa một hồ sơ

4. Hồ sơ

o Khả năng thay đổi số máy chủ

o Khả năng thiết lập một danh sách trắng các số máy chủ

o Khả năng chỉ định thời gian chờ đợi cuộc gọi lại từ máy chủ

o Khả năng chỉ định khoảng thời gian giữa tín hiệu DTMF đã gửi

Thuật toán ứng dụng với các chức năng như sau:

Người dùng mở ứng dụng lần đầu tiên và tạo hồ sơ. Trong hồ sơ, người dùng chỉ định số máy chủ điện thoại. Người dùng nhập vào danh sách trắng những số mà từ đó máy chủ điện thoại sẽ gọi lại cho anh ta. Người dùng chỉ định thời gian chờ trong cài đặt. Nếu không có cuộc gọi lại từ máy chủ, người dùng sẽ có thể tiếp tục sử dụng điện thoại mà không cần tắt ứng dụng theo cách thủ công.

Sau khi thiết lập ứng dụng, người dùng có thể gọi đến số thuê bao từ danh bạ. Lúc này, menu lựa chọn ứng dụng sẽ xuất hiện, bạn có thể thực hiện các cuộc gọi. Nếu người dùng chọn Gọi lại DTMF, thì số liên lạc sẽ được ứng dụng lưu trữ và chính ứng dụng sẽ bắt đầu cuộc gọi đến máy chủ. Khi máy chủ ngắt kết nối và gọi lại, ứng dụng sẽ trả lời cuộc gọi và quay số đã lưu ở chế độ quay số, sau đó người dùng sẽ cần đợi kết nối với thuê bao được gọi.

Sau khi kết thúc cuộc trò chuyện, nhật ký cuộc gọi phải chứa số thuê bao mà người dùng đã gọi. Việc tính toán thời gian trò chuyện nên bắt đầu từ thời điểm quay số.

Phát triển một nguyên mẫu thể hiện khả năng đơn giản hóa việc sử dụng chức năng Gọi lại

Dựa trên năng lực thực sự của họ và không có kinh nghiệm trong việc phát triển theo Android, các yêu cầu tối thiểu cho một nguyên mẫu đã được phát triển:

1. Nguyên mẫu phải chạy trên tất cả các thiết bị Android hiện đại từ Android 2.1 đến Android 5.1

2. Nguyên mẫu sẽ giúp việc quay số của thuê bao trở nên dễ dàng hơn khi máy chủ điện thoại gọi lại

3. Khi gọi đến số thuê bao thông qua nguyên mẫu, cuộc gọi phải được bắt đầu đến số máy chủ điện thoại, đồng thời ghi nhớ số thuê bao đã gọi.

Khởi tạo cuộc gọi đến một số được chỉ định

Giai đoạn phát triển đầu tiên là viết một ứng dụng có thể thực hiện cuộc gọi đến số được chỉ định trong mã ứng dụng. Phương pháp này, khi các giá trị của các biến được mã hóa cứng trong mã, và không được lấy từ các nguồn bên ngoài, được gọi là mã hóa cứng. Phương pháp này được sử dụng đặc biệt để kiểm tra nhanh ứng dụng để bạn không phải quay số mỗi lần.

Nó đã được quyết định viết bằng ngôn ngữ lập trình python, vì tôi đã có kinh nghiệm viết bằng ngôn ngữ này. Để triển khai nó, cần phải kết nối lớp Java android.intent.action.CALL từ Android API. Mục đích của ứng dụng này là để kiểm tra xem ứng dụng có thể gọi cho bất kỳ thuê bao nào hay không. Chức năng này là cần thiết để sau cuộc gọi của thuê bao "A" đến số của thuê bao "B", cuộc gọi đến số của máy chủ điện thoại sẽ bắt đầu. Sau khi thực hiện chức năng này, rõ ràng là, mặc dù kinh nghiệm của tôi, việc viết ứng dụng cho python xuất hiện rất nhiều vấn đề không rõ ràng và kết quả là ứng dụng đã hoàn thành mất quá nhiều thời gian để tải, điều này khá quan trọng đối với điện thoại. . Rõ ràng là sẽ rất khó hiểu API nếu không có kiến ​​thức về ngôn ngữ lập trình Java. Vì vẫn cần sự hiểu biết về ngôn ngữ lập trình Java và kết quả cuối cùng về Java mang lại lợi thế, nên nó đã quyết định viết lại hàm cho Java bằng Android Studio. Đây là mã của hàm cuối cùng trong Java:

public void Call (View view) (

mNumberTextView.setText ("Gọi tới" + tel.getText () + "Khởi tạo");

String toDial = "tel:" + tel.getText (). ToString ();

startActivity (Intent mới (Intent.ACTION_CALL, Uri.parse (toDial)));

Nhận số từ sổ liên lạc

Để một ứng dụng Android được gọi từ một ứng dụng khác, bạn có thể sử dụng Ý định rõ ràng và ngầm định. Một Intent rõ ràng chỉ định lớp mà nó sẽ gọi:

ý định Intent_about = new Intent (MainActivity.this, AboutActivity.class);

startActivity (mục đích_ bùng binh);

Hoạt động AboutActivity.class được viết bằng Android.Manifest.xml, vì vậy hệ thống biết hoạt động nào sẽ khởi chạy.

Trong Intent ngầm định, thay vì lớp sẽ được khởi chạy, hành động mà hệ thống sẽ phản ứng lại được chỉ ra. Trong sổ liên lạc chuẩn (Danh bạ) trong android, khi được gọi từ nó, hành động ACTION_CALL_PRIVELEGED sẽ xảy ra. Số "tel:" được chuyển cho hành động này. Ví dụ: chúng ta có thể sử dụng adb để gọi hành động này bằng cách viết:

adb -e shell am start -a android.intent.action.CALL_PRIVILEGED -d tel: 911

Trong đó 100 là số điện thoại sẽ đổ chuông. Nếu bạn viết lệnh

adb shell am start -a android.intent.action.CALL -d tel: 911

Trong trường hợp này, sẽ không có cuộc gọi nào, vì sẽ không có đặc quyền gọi đến một số như vậy. Tùy theo nhu cầu mà các ứng dụng khác nhau có thể sử dụng các thao tác khác nhau. Nếu không có cuộc gọi khẩn cấp nào được mong đợi, ACTION_CALL sẽ được sử dụng. Điều này phổ biến hơn đối với các cuộc gọi từ trình duyệt hoặc ứng dụng có số liên lạc.

Trên một số chương trình cơ sở, một ứng dụng thay thế có thể được sử dụng làm sổ liên lạc. Bản thân mã nguồn của ứng dụng này có thể bị đóng. Nếu trong các ứng dụng như vậy, cuộc gọi được bắt đầu bằng cách nào đó khác, thì việc đoán ý định mà cuộc gọi được bắt đầu có thể khó khăn. Trong trường hợp này, bạn có thể cài đặt một sổ liên lạc thay thế từ Google Play hoặc các nguồn đáng tin cậy khác.

Để chương trình chặn được Ý định ngầm, bạn cần thêm bộ lọc ý định vào AndroidManifest.xml:

Vì bạn chỉ cần lấy số từ sổ liên lạc, nên "tel" được chỉ ra trong sơ đồ.

Giờ đây, hệ điều hành Android sẽ nhắc bạn gọi ứng dụng mỗi khi Ý định ACTION_CALL hoặc ACTION_CALL_PRIVILEGED được gọi.

Để ứng dụng sử dụng số có trong “tel”, chúng ta cần sử dụng phương thức getData () trong lớp mà chúng ta cần:

cửa sổ nổi có nút

Có một thư viện tên là StandOut mà bạn có thể tạo một cửa sổ nổi. Thư viện là mã nguồn mở và có các ví dụ. Thư viện này được phân phối theo giấy phép MIT miễn phí. Giấy phép này cho phép bạn tự do phân phối lại phần mềm có chứa thư viện này. Thư viện được cung cấp nguyên trạng, các tác giả không chịu trách nhiệm về những tác hại mà nó có thể gây ra.

Các tính năng của thư viện này:

· Cung cấp CHẾ ĐỘ XEM của riêng bạn. Tích hợp dễ dàng.

Trang trí cửa sổ nổi:

1. tiêu đề cửa sổ nổi

2. nút thu nhỏ cửa sổ nổi

3. nút đóng cửa sổ nổi

4. nút để thay đổi kích thước cửa sổ

Cửa sổ thu nhỏ có thể được khôi phục

Tạo các loại cửa sổ khác nhau

Windows có thể được di chuyển

Khi thử nghiệm các ví dụ từ thư viện này, người ta thấy rằng cửa sổ nổi có thể nằm trên tất cả các cửa sổ, kể cả trong khi gọi. Tính năng này có thể được sử dụng để tạo một nút quay số mong muốn trong trình quay số trong khi gọi.

Để tạo một cửa sổ, bạn cần viết một lớp sẽ là phần mở rộng của lớp StandOutWindow:

public class FloatingButton mở rộng StandOutWindow (

public void createAndAttachView (int id, khung FrameLayout) (

LayoutInflater Inflater = (LayoutInflater) getSystemService (LAYOUT_INFLATER_SERVICE);

View view = perfater.inflate (R.layout.floating_button, frame, true);

Và trong res / layouts có một lớp với mô tả về giao diện của cửa sổ này float_button.xml.

Nút cửa sổ nổi

Tài liệu tương tự

    Kiến trúc và lịch sử của hệ điều hành Android. Ngôn ngữ lập trình Java. Chọn một công cụ để triển khai ứng dụng Android. Triển khai phần mềm của ứng dụng Android. Tiến hành kiểm thử phần mềm đã phát triển.

    hạn giấy, bổ sung 18/01/2017

    Tổng quan về hệ điều hành di động Android. Lựa chọn công cụ và công nghệ. Thiết kế một nguyên mẫu GUI. Đặc điểm và mô tả của giao diện người dùng. Thiết kế và phát triển cơ sở dữ liệu. Xác định danh sách các quyền cần thiết.

    hạn giấy, bổ sung 13/09/2017

    Tổng quan về các trình xem thời tiết phổ biến hiện có dành cho hệ điều hành Android. Hệ điều hành của điện thoại thông minh hiện đại. Các tính năng chính của công nghệ Android, Java. Phát triển phần mềm, lựa chọn ngôn ngữ, mô tả thuật toán, cấu trúc logic của nó.

    hạn giấy, bổ sung 16/04/2014

    Thực hiện điện thoại qua mạng IP bằng cách sử dụng một tập hợp các giao thức và thiết bị. Phát triển hệ thống con định tuyến cuộc gọi động cho hệ thống quản lý và thanh toán trong mạng điện thoại IP. Các yêu cầu cơ bản đối với giao diện người dùng đồ họa.

    luận văn, bổ sung 11/08/2015

    Phát triển các ứng dụng cho điện thoại thông minh trên hệ điều hành Android cho mạng lưới nhà thuốc "Pharmacy". Kiến trúc hệ điều hành Android. Kiến trúc và triển khai ứng dụng. Chức năng của nó. Mô tả của ứng dụng di động. Tính toán chi phí tạo ra sản phẩm.

    luận án, bổ sung 17/06/2017

    Đặc điểm của hệ điều hành Android dùng cho điện thoại di động. Tạo một dự án Android trong môi trường phát triển Eclipse. Cấu trúc và chức năng chung của tệp kê khai. Các thành phần ứng dụng Android. Các phương pháp đánh dấu.

    hạn giấy, thêm ngày 15/11/2012

    Sơ đồ chung của ứng dụng Android. Phát triển một ứng dụng học tập cho hệ điều hành Android, mục đích của nó là phát triển giọng nói thông qua việc phát âm những cái ngoặc lưỡi. Mô tả các thành phần của ứng dụng đã phát triển, thử nghiệm của nó.

    luận án, bổ sung 02/04/2016

    Các khái niệm cơ bản về điện thoại IP và các dạng cấu trúc của mạng điện thoại IP. Cổng thoại của Hệ thống Cisco dành cho điện thoại IP. IP IVR như một phương tiện trả lời cuộc gọi tự động. Những lợi thế của việc xây dựng một Trung tâm liên lạc phân tán, kiến ​​trúc của việc xây dựng nó.

    luận án, bổ sung 21/04/2016

    Đặc điểm chung của hệ điều hành Android. Phát triển ứng dụng dựa trên việc tạo trình quản lý tệp. Sử dụng ứng dụng để truy cập các tệp được lưu trữ trong "bộ nhớ đám mây" trên Internet. Tính giá thành phần mềm.

    luận án, bổ sung 04/03/2015

    Phát triển phần mềm cho nền tảng Android phiên bản 2.3: ứng dụng thông tin dành cho người hâm mộ đội bóng, với khả năng xem các sự kiện, số liệu thống kê và các thông tin khác về đội bóng và thành công của đội bóng. Liệt kê JsonDataManager.java.

Chào mọi người.
Bạn có muốn điều khiển thứ gì đó trên điện thoại di động và thậm chí không cần bất kỳ bộ vi điều khiển trừu tượng nào không? Nếu có, chào mừng dưới con mèo.

Gần đây, đã có một số đánh giá về mô-đun GSM trên Muska, chẳng hạn như SIM800, sử dụng mà bạn có thể kiểm soát mọi thứ qua mạng di động. Nhưng rắc rối là, tất cả chúng đều yêu cầu kết nối với vi điều khiển, viết phần sụn và những thứ khác rất khó đối với một người chưa quen. Cực đoan khác là: “Và tôi đã hàn rơ le vào động cơ rung của điện thoại, mọi thứ đều hoạt động với tôi” :)) Điều này cũng có thể xảy ra, nhưng đừng ngạc nhiên nếu nhà kính của bạn cố gắng tưới máy bơm bằng nước từ một đóng băng tốt, sau tin nhắn SMS "Với năm mới!" từ người gửi không xác định
Nói chung, tôi quyết định lấp đầy khoảng cách giữa hai giải pháp này và đưa ra giải pháp của riêng tôi.

Hôm nay chúng ta sẽ nói về bộ giải mã tín hiệu DTMF hay nói một cách đơn giản là tín hiệu âm sắc.
Người tò mò có thể đọc
Công nghệ này đã khá lỗi thời, nhưng vẫn được hỗ trợ bởi tất cả các điện thoại.
Trên thực tế, đó là âm quay số mà bạn sử dụng khi gọi đến một tổ chức nào đó và máy trả lời tự động cho bạn biết: “nếu bạn biết số thuê bao, hãy nhấn“ 1 ”, nếu bạn muốn biết về các ưu đãi mới của chúng tôi, hãy nhấn“ 2 ”và Sớm. Bằng cách nhấn vào nút có số mong muốn trên điện thoại, bạn sẽ gửi tín hiệu của một âm nhất định qua kênh thoại. Mỗi ký tự trên bàn phím điện thoại có “giai điệu” riêng. Chính âm thanh này mà bộ giải mã DTMF giải mã, biến nó thành tín hiệu tại các đầu ra của nó.


Bo mạch được lắp ráp trên một vi mạch, được cấp nguồn bằng 5 vôn và có các đầu ra sau: đầu ra rời rạc Q1-Q4, đầu ra đảo ngược StQ / StQ được kích hoạt mỗi khi tín hiệu được nhận dạng chính xác. Audio IN nếu bạn không muốn sử dụng giắc cắm 3,5 mm được hàn. Nguồn cung cấp GND / VCC, 5 volt.
Kết quả đầu ra Q1-Q4 hoạt động theo bảng:

Ví dụ, bây giờ tôi có hai đèn LED ở giữa trên bảng, đầu ra Q2 và Q3 đã hoạt động, chúng ta nhìn vào bảng - điều này tương ứng với phím “6” được nhấn. Nếu tôi nhấn phím "1", thì đầu ra Q1 sẽ hoạt động, nếu "2", thì Q2. Nếu "3", thì đầu ra Q1 và Q2 sẽ "sáng" cùng một lúc. Vân vân.
Nói chung, đây là một mã 4 bit. Nếu bạn giải mã nó bằng một vi mạch đặc biệt, bạn có thể nhận được 16 đầu ra.
Nhân tiện, Ali bán một bảng đã có bộ giải mã, nhưng nó đắt hơn. Một tùy chọn cho nâng cao là kết nối tất cả điều này với bộ vi điều khiển, tôi đã làm điều này, bạn thậm chí có thể đặt mật khẩu - tôi đã gọi, quay số mật khẩu, có quyền truy cập để điều khiển ...
Nhưng điều này không còn nằm trong phạm vi bài viết của tôi nữa, bởi vì. Ở phần đầu của bài viết, tôi đã hứa rằng mọi thứ sẽ đơn giản.

Và do đó, chúng tôi lấy bóng bán dẫn KT815, một điện trở 1,1 kΩ, hoặc hơn, một rơ le 12 V và một bộ ổn định LM7805. Các bộ phận còn lại (diode bảo vệ 1N4007 trên cuộn dây rơ le, tụ gốm màu vàng 0,1 microfarads và tụ điện 1000 microfarads) là mong muốn, nhưng nó hoạt động mà không có chúng. Một loa tweeter được kết nối với rơ le dưới dạng tải.
Tôi sẽ không vẽ sơ đồ, việc lắp đặt có bản lề, mọi thứ có thể nhìn thấy trong ảnh:


Mặt khác:


Tổng nguồn điện của cấu trúc là 12 V, bởi vì điều này được yêu cầu bởi rơ le, nhưng đối với bo mạch, nó được giảm bởi bộ ổn định xuống 5 V.
Chúng tôi kết nối giắc cắm 3,5 mm trên bo mạch bằng dây với đầu ra tai nghe của điện thoại, thiết lập tự động nhận điện thoại và bạn đã hoàn tất. Bây giờ, nếu bạn gọi vào điện thoại kết nối với bo mạch, đợi cho đến khi thiết bị cầm tay tắt, nhấn "1", rơle sẽ hoạt động, còi sẽ bắt đầu phát ra tiếng bíp. Nếu bạn nhấn "2", mọi thứ sẽ tắt. Nhân tiện, bất kể bạn định kiểm soát điều gì, tôi khuyên bạn nên để lại bộ rung. Điều này rất tiện lợi, vì bạn có thể nghe thấy nó trên điện thoại, và bằng cách này, bạn có thể nhận được một số loại phản hồi: bạn đã gọi, bạn nghe thấy tiếng bíp, có nghĩa là đang tải :)

Đã tạo một video ngắn cho thấy tất cả hoạt động như thế nào.

Tôi định mua +128 Thêm vào mục yêu thích Đã thích bài đánh giá +72 +169

Các mô hình được điều khiển bằng sóng vô tuyến sử dụng các mạch RF có phạm vi hoạt động hạn chế, dải tần số hạn chế và các vấn đề khi khớp với bộ điều khiển. Sử dụng điện thoại di động để điều khiển mô hình sẽ tránh được những nhược điểm này. Khi sử dụng điện thoại di động, mô hình có thể được điều khiển trong toàn bộ vùng phủ sóng của nhà điều hành và hoạt động với các thiết bị bên ngoài mà không gặp vấn đề gì.

Mặc dù hình thức và khả năng của một mô hình có thể khác nhau rất nhiều, nhưng tất cả các mô hình đều có một bộ phận cơ khí và một bộ phận dẫn động mô hình. Quản lý mô hình bao gồm ba giai đoạn: nhận lệnh, xử lý và thực thi. Theo quy luật, các lệnh được đưa ra bởi các cảm biến bên ngoài, bộ vi điều khiển tham gia vào quá trình xử lý và động cơ được sử dụng để thực hiện.

Tổng quat

Trong máy này, hai điện thoại di động được sử dụng để điều khiển - một điện thoại nằm trong tay bạn làm điều khiển từ xa, điện thoại kia được cài đặt trên mô hình như một bộ thu. Một cuộc gọi được nhận từ điện thoại của bạn đến điện thoại của kiểu máy và khi bạn nhấn các phím trong khi gọi, một tín hiệu đa tần số sẽ nhận được từ điện thoại di động. Tín hiệu này được gọi là Đa tần số kép (DTMF).
Sử dụng bộ giải mã DTMF MT8870, DTMF được giải mã thành mã nhị phân, được xử lý bởi bộ vi điều khiển ATmega16, sau đó ra lệnh cho trình điều khiển động cơ.

Như bạn thấy, mô hình này khá đơn giản và không yêu cầu cấu tạo các bộ truyền phức tạp.
Tín hiệu DTMF được sử dụng để quay số điện thoại hoặc trả lời tự động bằng giọng nói.
Tín hiệu bao gồm hai tín hiệu hình sin có tần số cố định, và dễ dàng được giải mã sang mã nhị phân và ngược lại. Để mã hóa một ký tự thành tín hiệu DTMF, hai tín hiệu hình sin phải được cộng lại với nhau. Ví dụ, nếu bạn cần truyền số 5, thì tần số của một tín hiệu sẽ là 1336 Hz, và 770 Hz khác, và chúng ta sẽ nhận được tín hiệu này trên điện thoại thứ hai.

Mô tả mạch

Sơ đồ khối cho thấy thiết bị hoạt động như thế nào. Các thành phần chính của nó là bộ giải mã DTMF, vi điều khiển và trình điều khiển động cơ.

Chip MT8870 được sử dụng như một bộ giải mã DTMF. Nó sử dụng các phương pháp nhận dạng tín hiệu kỹ thuật số và xuất tín hiệu ra 4 chân. Nó cũng không yêu cầu lọc trước tín hiệu đầu vào. Khi một tín hiệu đầu vào được áp dụng cho PIN2 (B-), tín hiệu được giải mã sẽ được xuất ra tại các chân Q1 (pin11) đến (pin14).

ATmega16 là vi điều khiển CMOS 8 bit dựa trên kiến ​​trúc AVR RISC tiên tiến với mức tiêu thụ điện năng thấp. Nó có đèn flash lập trình 16KB, 512B EEPROM, 1KB SRAM, 32 dòng I / O và 32 thanh ghi. Từ các chân của bộ vi điều khiển PD0 - PD3 và PD7, một tín hiệu được gửi đến các đầu ra IN1 - IN4 và EN1-EN2 của trình điều khiển động cơ L293d. Công tắc S1 được sử dụng để thiết lập lại thủ công.

Chương trình

Bộ vi điều khiển được lập trình bằng WIN AVR. Nếu bạn không biết làm thế nào để làm điều này, hãy xem, mọi thứ được mô tả chi tiết ở đó. Nguồn và tệp hex được đính kèm trong bài viết. Nếu WinAVR được cài đặt, thì sẽ không có vấn đề gì khi mở.

Công việc

Để điều khiển mô hình, bạn phải gọi điện thoại di động của mô hình từ bất kỳ điện thoại nào. Khi máy tự động trả lời, hãy bấm các phím sau:
2 - tiến lên phía trước.
4 - rẽ trái.
8 - chuyển động theo hướng ngược lại.
6 - rẽ phải.
5 - dừng lại.

Danh sách mặt hàng:
Bộ giải mã DTMF MT8870 - 1.
Vi điều khiển Atmega16 - 1.
Trình điều khiển động cơ L293d - 1.
OU Cd7004 - 1.
Diode 1N4007 - 1.
Điện trở 100 kOhm - 2.
Điện trở 10 kOhm - 5.
Điện trở 330 kOhm - 1.
Tụ điện 0,47uF - 1.
Tụ điện 0,1uF - 1.
Tụ điện 22pF - 4.
Thạch anh 3,57 MHz - 1.
Thạch anh 12 MHz - 1.
Nút tạm thời - 1.
Động cơ (6V, 50 vòng / phút) - 2 hoặc 4 cho hệ dẫn động tất cả các bánh.
Pin 6V - 1.
Bánh xe - 4.
Điện thoại di động - 2.
Loa ngoài (rảnh tay) - 1.

Bạn phải cố định điện thoại vào khung. Điện thoại được kết nối với robot thông qua tai nghe rảnh tay.

kết nối rảnh tay
Tôi đã sử dụng rảnh tay với đầu nối giắc cắm mini.

Bạn có thể tải xuống mã nguồn của chương trình và phần sụn bên dưới

Danh sách các phần tử vô tuyến

Chỉ định Một loại Mệnh giá Định lượng Ghi chúGhi bànSổ tay của tôi
IC1 Bộ giải mã DTMFMT88701 Vào sổ tay
IC2 MK AVR 8-bit

ATmega16

1 Vào sổ tay
IC3 Trình điều khiển động cơ điệnL293D1 Vào sổ tay
IC4 IC đệm, trình điều khiển

SN74LS04

1 Vào sổ tay
D1 diode chỉnh lưu

1N4007

1 Vào sổ tay
C1 Tụ điện0,47uF1 Vào sổ tay
C2, C3, C5, C6 Tụ điện22 pF4 Vào sổ tay
C4 Tụ điện0,1uF1 Vào sổ tay
R1, R2 Điện trở

100 kOhm

2 Vào sổ tay
R3 Điện trở

330 kOhm

1 Vào sổ tay
R4-R8 Điện trở

10 kOhm

5 Vào sổ tay
XTAL1 Máy cộng hưởng thạch anh3,57 MHz1 Vào sổ tay
XTAL2 Máy cộng hưởng thạch anh12 MHz1

DTMF (Đa tần số hai tông màu) là âm được tạo ra khi nhấn các nút điện thoại.
DTMF được sử dụng rộng rãi trong hoạt động của máy trả lời tự động (IVR), cho các hệ thống tương tác khác nhau. Như được áp dụng cho VoIP, khi làm việc với các codec khác nhau, DTMF đòi hỏi sự chú ý khá chặt chẽ, vì vậy hoạt động của nó phải được hiểu rõ ràng.

Theo mặc định, Gateway gửi DTMF trong luồng RTP ( trong băng), điều này hoạt động tốt khi sử dụng codec tốc độ bit cao G.711, tức là nếu luồng thoại không được nén.
Sự cố chính với DTMF xảy ra khi sử dụng các thuật toán nén như codec G.729. Thực tế là khi bị nén, chất lượng của luồng đầu giảm đáng kể và mặc dù điều này hầu như không ảnh hưởng đến khả năng hiểu nhau của các thuê bao, nhưng âm DTMF không còn đủ rõ ràng và bị nhận thức không chính xác.

Vấn đề này được giải quyết với DTMF Relay, trong đó tín hiệu DTMF được vận chuyển riêng biệt với luồng RTP, hoặc ngoài băng.

Hãy xem một vài ví dụ.


Hình bên cho thấy sơ đồ kết nối của điện thoại qua cổng H.323.

Trên phần PSTN, DTMF được gửi trong băng, tức là thậm chí không có khái niệm về DTMF Relay, vì nó là một đường dây tương tự.

Rơ le DTMF chỉ trở nên cần thiết trong phần VoIP, nơi có thể sử dụng các phương pháp nén.
Bạn cũng có thể nói rằng:
- trong băng Rơle DTMF sẽ đi vào bên trong luồng RTP, tức là trong hình dọc theo đường RTP màu đỏ.
- ngoài băng Rơ le DTMF sẽ đi cùng với tín hiệu, tức là dọc theo các đường màu xanh lá cây trong hình.

Trên các mảnh đất phone-CUCMCUCM-H.323Gateway các tín hiệu khác nhau được sử dụng, có nghĩa là các phương pháp chuyển tiếp DTMF khác nhau. Các bản tin SCCP chứa DTMF trong mã hóa của chúng đến từ phía điện thoại, tín hiệu cùng với DTMF đến từ các bản tin H.245 từ phía cổng H.323.
CUCM trong trường hợp của chúng tôi hoạt động như một DTMF Forwarder giữa các loại báo hiệu khác nhau.

Vị trí trên phone-CUCM chúng tôi sẽ chỉ có thể ngoài băng vì điện thoại SCCP không hỗ trợ trong băng.
Vị trí trên CUCM-H.323Gateway Các phương pháp khả thi là trong băng, và ngoài băng. Trong trường hợp này, trong trường hợp của điện thoại SCCP, để kích hoạt trong băng sẽ cần sử dụng MTP.

Bạn cũng cần hiểu rằng cài đặt DTMF cho Trunk H.323 là cài đặt để đường trục này hoạt động với Dial-peer trên Cổng H.323 vật lý.

Tùy thuộc vào giao thức báo hiệu (H.323, SIP, MGCP, SCCP), có các phương pháp khác nhau để thực hiện DTMF Relay. Trong mọi trường hợp, Call Manager CUCM ban đầu cố gắng hủy sao chép một phương thức chung cho tất cả mọi người. Nếu không tìm thấy phương pháp chung nào, hãy thử sử dụng MTP.

Hỗ trợ H.323 DTMF

Cisco Gateways hỗ trợ các phương thức DTMF Relay sau:

  • Độc quyền của Cisco: - trong băng Rơ le DTMF. DTMF được gửi trong cùng một luồng RTP với giọng nói, nhưng âm DTMF được mã hóa hơi khác một chút, cho phép chúng được phân biệt và nhận thành công ở phía bên kia. Các mẫu DTMF được xác định là Loại tải trọng RTP 121. Phương pháp này chỉ hoạt động nếu có thiết bị Cisco ở cả hai bên và cùng một phương pháp
  • H.245 Chữ và số:- Rơ le DTMF ngoài băng tần. Tách DTMF khỏi luồng RTP và gửi chúng qua H.245 Thông báo chỉ báo đầu vào của người dùng. Phương thức này không gửi độ dài giai điệu: luôn giả định rằng độ dài của âm là 500msec.
    Trong ví dụ này, chúng tôi đã nhấp vào "5".

    Gỡ lỗi: gỡ lỗi h245 asn1

  • Tín hiệu H.245:- Rơ le DTMF ngoài băng tần. Phương thức này có khả năng gửi một độ dài âm báo ( độ dài giai điệu).

    Gỡ lỗi: gỡ lỗi h245 asn1

  • NTE:- chuyển tiếp DTMF trong băng. Hoạt động giống như độc quyền của Cisco, DTMF được gửi trên cùng một luồng RTP như giọng nói, sử dụng Loại tải trọng RTP. Một trọng tải khác không cho phép nén mẫu DTMF. không giống Độc quyền của Cisco, NTE sử dụng tiêu chuẩn RFC 2833.

    Gỡ lỗi: gỡ lỗi h245 asn1

Các lệnh sau khả dụng trên bộ định tuyến Cisco:

Bộ định tuyến (config-dial-peer) # dtmf-relay? cisco-rtp Chuyển tiếp DTMF RTP h245-chữ và số độc quyền của Cisco qua H245 Chữ và số IE h245-Tín hiệu DTMF Chuyển tiếp qua H245 Tín hiệu IE rtp-nte RTP Được đặt tên cho Sự kiện Điện thoại Bộ định tuyến RFC 2833 (config-dial-peer) #

Thực hành tốt nhất:
Trên hệ thống quay số, tốt nhất nên ra các lệnh như sau:

Giọng nói quay số ngang hàng 3000 voip Mô tả cuộc gọi dài đích-mẫu ... mục tiêu phiên ipv4: 192.168.0.11 dtmf-relay h245-signal h245-alp-nte cisco-rtp rtp-nte codec g711ulaw no vad

Trong trường hợp này, cả hai bên có thể thương lượng phương pháp chuyển tiếp dtmf thích hợp giữa mình.

Để xác định phương pháp chuyển tiếp DTMF đã chọn:
hiển thị cuộc gọi đang hoạt động bằng giọng nói

Bộ định tuyến # hiển thị cuộc gọi đang hoạt động bằng giọng nói ........... PeerAddress = 5001 ........... tx_DtmfRelay = rtp-nte

Do đó, CUCM tự động kiểm tra phương pháp DTMF nào phù hợp cho cả hai bên.
Về Cổng H.323 trong CUCM, không có cài đặt DTMF. CUCM chấp nhận cài đặt của bên kia.

Hỗ trợ MGCP DTMF

Các phương pháp chuyển tiếp DTMF sau đây khả dụng cho MGCP:

  • Độc quyền của Cisco: DTMF được gửi trong cùng một luồng RTP với giọng nói, nhưng âm DTMF được mã hóa hơi khác một chút, cho phép chúng được phân biệt và nhận thành công ở phía bên kia. Các mẫu DTMF được xác định là Loại tải trọng RTP 121. Phương pháp này chỉ hoạt động nếu cả hai bên đều có thiết bị của Cisco và một phương pháp tương tự được chọn (không có gì được thương lượng).
  • NSE: NSE về cơ bản là một NTE độc quyền của Cisco. Phương pháp này chỉ hoạt động nếu cả hai bên đều có thiết bị của Cisco và một phương pháp tương tự được chọn (không có gì được thương lượng).
  • NTE:đến lượt nó, nó có thể hoạt động ở hai chế độ:
    - Chế độ điều khiển cổng (NTE GW): Các cổng tự thương lượng DTMF với nhau bằng cách trao đổi thông tin khả năng trong các bản tin SDP. Quá trình này là minh bạch đối với Call Agent. Đồng thời, cả hai cổng đều có MGCP đang chạy và cả hai đều được kết nối với cùng một CUCM.
    - Chế độ do tác nhân cuộc gọi kiểm soát (NTE CA): Thương lượng sử dụng Call Agent, tức là hoạt động thay mặt cho cổng MGCP (các thông điệp SDP được gửi đến Đại lý). Chế độ này có thể được sử dụng khi cổng thứ hai không phải là MGCP-Gateway. Sau khi thương lượng, Call Agent hướng dẫn cổng về các giá trị RTP-NTE nhận được từ phía bên kia.
  • ngoài dải: Các âm được gửi đến CUCM bằng tin nhắn MGCP, tức là bên ngoài luồng RTP (Ngoài băng tần). Đến lượt CUCM nhận DTMF và truyền nó sang phía bên kia.

MGCP chỉ sử dụng chuyển tiếp DTMF cho các codec tốc độ thấp (G729, iLBC, GSM, v.v.). Đối với codec tốc độ bit G711 DTMF sẽ được gửi trong băng.

Trong trường hợp của MGCP, chúng ta có thể chọn xem các cài đặt DTMF sẽ do Call Agent (CUCM) ra lệnh hay các cài đặt trên Gateway sẽ được sử dụng.
Hãy đến CUCM: Thiết bị> Cổng vào, chọn Cổng MGCP thích hợp.
Chúng tôi quan tâm đến phần Loại chuyển tiếp DTMF.

Khi lựa chọn Cấu hình GW hiện tại, cài đặt trên cổng sẽ được sử dụng.
Trên IOS Gateway, chúng ta có thể đặt DTMF bằng lệnh sau:

Bộ định tuyến (cấu hình) #mgcp dtmf-relay voip codec tất cả chế độ? cisco Đặt chế độ chuyển tiếp mgcp dtmf thành tắt cisco Đặt chế độ chuyển tiếp mgcp dtmf thành tắt nse Đặt chế độ chuyển tiếp mgcp dtmf thành nse nte-ca Đặt chế độ chuyển tiếp mgcp dtmf thành nte-ca nte-gw Đặt mgcp dtmf -chế độ phát ở ngoài băng tần Đặt chế độ chuyển tiếp mgcp dtmf thành ngoài băng tần

Ví dụ: nếu chúng tôi đưa ra lựa chọn khác trên CUCM cisco, lệnh tương ứng ở trên sẽ được nhập vào bởi automaton (các cơ chế MGCP).

Một lỗi đã được nhận thấy với MGCP:

CSCta69407 Chi tiết lỗi(Khi sử dụng bất kỳ loại báo hiệu DTMF nội bộ nào (RTP-NTE, NSE hoặc Cisco Proprietary) DSP "s aren" t tắt tín hiệu dtmf OOB bằng cách sử dụng gói mgcp. Trước đó, các chữ số trùng lặp sẽ được nhìn thấy trên GW kết thúc như một chữ số đến từ rtp và khác đến từ CUCM)

cách giải quyết: Sử dụng mgcp dtmf-relay loại ngoài dải.

Hỗ trợ SIP DTMF

SIP gửi DTMF theo mặc định trong băng, nhưng chúng tôi có thể sử dụng các tùy chọn sau:

  • RTP-NTE (NTE hoặc là RFC 2833) - trong băng Rơ le DTMF. Trong đó sử dụng các gói thoại RTP của sự kiện điện thoại được đặt tên (NTE) để mang thông tin DTMF. Trong trường hợp này, SDP được sử dụng để thương lượng giữa các nút của loại trọng tải giá trị = NTE. Mặc dù về mặt chính thức điều này trong băng, nhưng trên thực tế, âm thanh trong luồng âm thanh sẽ không được nghe thấy, vì các gói NTE không phải là giọng nói
    RTP-NTE không hoạt động với điện thoại SCCP vì điện thoại SCCP chỉ sử dụng rơle DTMF ngoài băng tần. Vì lý do này, MTP phải được sử dụng cùng với RTP-NTE.
  • THÔNG TIN SIP - ngoài băng(OOB) Rơle DTMF. Thông tin DTMF được gửi trong tin nhắn SIP INFO. Những thứ kia. nếu cổng nhận được tin nhắn INFO, nó sẽ phát ra âm báo thích hợp.
  • THÔNG BÁO SIP - ngoài băng(OOB) Rơle DTMF. hay nó còn được gọi là Rơ le DTMF ngoài băng tần dựa trên NOTIFY. Loại rơle DTMF này sử dụng NOTIFY để truyền âm. Phương pháp này tương thích với điện thoại SCCP và cũng có thể được sử dụng với điện thoại tương tự được kết nối với cổng FXS trên cổng.
  • KPML - ngoài băng(OOB) Rơle DTMF. Khi sử dụng Ngôn ngữ đánh dấu phím bấm, điện thoại SIP sẽ gửi số từng chữ số. Phương pháp này tương tự như THÔNG BÁO SIP, với sự khác biệt duy nhất là nó cung cấp cho từng chữ số riêng biệt.
bộ định tuyến (config-dial-peer) #session giao thức bộ định tuyến sirov2 (config-dial-peer) # dtmf-relay? cisco-rtp Chuyển tiếp DTMF độc quyền của Cisco RTP h245-chữ và số qua H245 Chữ và số IE h245-Tín hiệu DTMF Chuyển tiếp qua H245 Tín hiệu IE rtp-nte RTP Sự kiện điện thoại được đặt tên RFC 2833 nhâm nhi-kpml Chuyển tiếp DTMF qua KPML qua SIP SUBCRIBE / NOTIFY Chuyển tiếp-thông báo qua bộ định tuyến thông báo SIP NOTIFY (config-dial-peer) #

Ở đây, chúng tôi thấy một số phương pháp có sẵn, chỉ với
- RTP-NTE (NTE hoặc là RFC 2833);
- THÔNG BÁO SIP;
- SIP-KPML.