**SMPP (short message peer-to-peer protocol)** — სატელეკომუნიკაციო ოქმი მოკლე შეტყობინებების მიმოცვლისათვის ისეთ კვანძებს შორის, როგორიც, მაგალითად, არის მოკლე შეტყობინებების ცენტრი (SMSC). ის ხშირად გამოიყენება ორგანიზაციების სუბკონტრაქტორების ამ ორგანიზაციის მოკლე შეტყობინებების ცენტრებამდე დამატებითი პროგრამული პროდუქტების დასაკავშირებლად (მაგალითად ამინდის პროგნოზის მიწოდების პროგრამისთვის).

SMPP შექმნილი იყო ირლანდიური კომპანია Aldiscon-ის მიერ, რომელიც შემდგომში კომპანია Logica-ის საკუთრება გახდა. 1999 წლიდან, SMPP-ზე ზრუნს SMPP-ის შემმუშავებელთა ფორუმი, რომელსაც შემდგომში SMS-ფორუმი (The SMS Forum) ეწოდა.

ოქმი დაფუძნებულია მოთხოვნა/პასუხის მონაცემების ერთეულების (ე.წ. PDU (Protocol Data Unit)) წყვილებზე - ორ პაკეტზე რომელთა მიმოცვლა ხდება OSI მოდელის მეოთხე დონეზე (TCP ოქმის სესიით ან X.25 SVC3-ის საშუალებით). ეფექტურობისთვის მონაცემთა წარმოდგენა ხდება ორობით ფორმატში.

SMPP-ის ყველაზე ფართოდგავრცელებული და მხარდაჭერილი ვერსიებია 3.3 და შედარებით ახალი 3.4, რომელიც ამატებს მიმღებ-გადამცემი რეჟიმის მხარდაჭერას (ერთეულოვანი კავშირი მიღების და გადაცემის ორგანიზებისათვის). მონაცემთა მიმოცვლა შესაძლებელია მოხდეს სინქრონულად, სადაც ყოველი კვანძი უნდა დაელოდოს პასუხს ყოველ გაგზავნილ მონაცემთა ერთეულზე და ასინქრონულად, სადაც მიღება და გადაცემა ხდება დამოუკიდებლად ბუფერების და მთველელების (ტაიმერების) გამოყენებით. SMPP-ის უკანასკნელი ვერსიაა 5.0.

მაგალითი
--------

ეს არის 60-ოქტეტიანი *submit\_sm* მონაცემის ნაწილის მაგალითი...

### მიღებული კოდი თექვსმეტობითში

```
00 00 00 3C 00 00 00 04 00 00 00 00 00 00 00 05 00 02 08 35 35 35 00 01 01
35 35 35 35 35 35 35 35 35 00 00 00 00 00 00 00 00 00 00 0F 48 65 6C 6C 6F
20 77 69 6B 69 70 65 64 69 61
```

### მონაცემთა ერთეულის თავსართი

```
'command_length', (60) ... 00 00 00 3C
'command_id', (4) ... 00 00 00 04
'command_status', (0) ... 00 00 00 00
'sequence_number', (5) ... 00 00 00 05
```

### მონაცემთა ერთეულის შიგთავსი

```
'service_**type', () ... 00**
'source_addr_ton', (2) ... 02
'source_addr_npi', (8) ... 08
'source_addr', (555) ... 35 35 35 00
'dest_addr_ton', (1) ... 01
'dest_addr_npi', (1) ... 01
'dest_addr', (555555555) ... 35 35 35 35 35 35 35 35 35 00
'esm_class', (0) ... 00
'protocol_id', (0) ... 00
'priority_flag', (0) ... 00
'schedule_delivery_time', () ... 00
'validity_period', () ... 00
'registered_delivery', (0) ... 00
'replace_if_present_flag', (0) ... 00
'data_coding', (0) ... 00
'sm_default_msg_id', (0) ... 00
'sm_length', (15) ... 0F
'short_message', (Hello Wikipedia) ... 48 65 6C 6C 6F 20 57 69 6B 69 70 65 64 69 61'
```

რესურსები ინტერნეტში
--------------------

* SMPP-თან დაკავშირებული დაწვრილებითი ინფორმაცია შეგიძლიათ იხილოთ გვერდზე www.smsforum.net
* SMPP-კვანძის ღია იმლემენტირების მიღება შეიძლება გვერდზე www.kannel.org
* OpenSmpp (Logica-ს მიერ მხარდაჭერილი), ღია კოდის Java-ზე ბაზირებული SMPP-იმპლემენტირება
* SMS/MMS რესურსები
* SMPP 3.4-ის ბიბლიოთეკა .NET-თვის
* SMPP 3.4 და 5.0-ის კლიენტის და სერვერის ბიბლიოთეკა .NET-თვის
* SMS და PDU დაარქივებული 2006-12-31 საიტზე Wayback Machine.
* smpp პროექტები sourceforge-ზე დაარქივებული 2009-11-29 საიტზე Wayback Machine.
* Perl-ის SMPP
* რუსულად მეტყველი ხალხისთვის ხელმისაწვდომია საიტი www.isms.ru დაარქივებული 2007-01-06 საიტზე Wayback Machine.