This file is indexed.

/usr/share/snmp/mibs/KAMAILIO-SIP-COMMON-MIB is in kamailio-snmpstats-modules 4.3.4-1.1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
-- ***********************************************************************
--
-- This MIB provides information related to the Kamailio SIP Router.
-- 
-- Copyright (c) The Internet Society (2006)
-- Ammendments (c) Soma Networks, Inc. (2006)
--
-- All rights reserved.
-- *****************************************************************



KAMAILIO-SIP-COMMON-MIB DEFINITIONS ::= BEGIN

   IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        OBJECT-IDENTITY,
        Counter32,
        Gauge32,
        TimeTicks,
        Unsigned32
             FROM SNMPv2-SMI

        RowStatus
             FROM SNMPv2-TC

        MODULE-COMPLIANCE,
        OBJECT-GROUP
             FROM SNMPv2-CONF

        SnmpAdminString
             FROM SNMP-FRAMEWORK-MIB

        KamailioSIPTransportProtocol,
        KamailioSIPMethodIdentifier,
        KamailioSIPEntityRole
             FROM KAMAILIO-TC

        kamailioModules, kamailioSIPCommonMIB
             FROM KAMAILIO-REG-MIB

        InetPortNumber, 
        InetAddressType,
        InetAddress
             FROM INET-ADDRESS-MIB;

   kamailioSIPCommonModule MODULE-IDENTITY
        LAST-UPDATED "200603221200Z"
        ORGANIZATION "Kamailio"
        CONTACT-INFO
                "http://www.kamailio.org"
        DESCRIPTION
             "Originally taken from the IETF Session Initiation Protocol 
              Working Group (sip@ietf.org). The description is pulled from 
              there:
              
              Session Initiation Protocol (SIP) Common MIB module.
              This module defines objects which MAY be common to all
              SIP entities.

              SIP is an application-layer signalling protocol for
              creating, modifying and terminating multimedia
              sessions with one or more participants. These sessions
              include Internet multimedia conferences and Internet
              telephone calls.  SIP is defined in RFC 3261 (June

              2002).

              This MIB is defined for managing objects which are
              common to SIP User Agents (UAs), Proxy, Redirect
              and Registrar servers.  Objects specific to each of
              these entities MAY be managed using entity specific
              MIBs defined in other modules.

              User Agent (UA): A logical entity that can act as both
              a user agent client and user agent server.
              User Agent Client (UAC): A logical entity that creates
              a new request, and then uses the client
              transaction state machinery to send it.  The role of UAC
              lasts only for the duration of that transaction.  In
              other words, if a piece of software initiates a
              request, it acts as a UAC for the duration of that
              transaction.  If it receives a request later, it
              assumes the role of a user agent server for the
              processing of that transaction.
              User Agent Server (UAS): a logical entity that
              generates a response to a SIP request.  The
              response accepts, rejects, or redirects the request.
              This role lasts only for the duration of that
              transaction.  In other words, if a piece of software
              responds to a request, it acts as a UAS for the
              duration of that transaction.  If it generates a
              request later, it assumes the role of a user
              agent client for the processing of that
              transaction.

              Proxy, Proxy Server: An intermediary entity that acts
              as both a server and a client for the purpose of making
              requests on behalf of other clients.  A proxy server
              primarily plays the role of routing, which means its
              job is to ensure that a request is sent to another
              entity 'closer' to the targeted user.
              Proxies are also useful for enforcing policy.  A proxy
               interprets, and, if necessary, rewrites specific parts
               of a request message before forwarding it.

              Redirect Server: A redirect server is a user agent
              server that generates 3xx responses to requests it
              receives, directing the client to contact an alternate
              set of URIs.

              Registrar: A registrar is a server that accepts
              REGISTER requests and places the information it
              receives in those requests into the location service
              for the domain it handles.

              Copyright (C) The Internet Society (2005). This version
              of this MIB module is part of RFC XXXX; see the RFC
              itself for full legal notices."
        REVISION        "200501281700Z"
        DESCRIPTION
             "Initial version of the IETF SOMA-SIP-COMMON-MIB module.
              This version published as part of RFC XXXX."
        ::= { kamailioModules 3 }

--
-- Top-Level Components of this MIB.
--

   kamailioSIPCommonObjects  OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Sub-tree for accessible objects in the MIB."  
        ::= { kamailioSIPCommonMIB 1 }
        
   kamailioSIPCommonConform     OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Sub-tree for conformance specifications."  
        ::= { kamailioSIPCommonMIB 2 }

--
-- This MIB contains objects that are common to all SIP entities.
--

--
-- Common basic configuration
--
   kamailioSIPCommonCfgBase OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Sub-tree for common basic configurations." 
        ::= { kamailioSIPCommonObjects 1 }

   kamailioSIPCommonCfgTimer OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Protocol timer configuration group." 
        ::= { kamailioSIPCommonObjects 2 }

   kamailioSIPCommonStatsSummary OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "SIP message summary statistics group."
        ::= { kamailioSIPCommonObjects 3 }

   kamailioSIPCommonStatsMethod OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Per method statistics group."
        ::= { kamailioSIPCommonObjects 4 }

   kamailioSIPCommonStatusCode OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Per Status code or status code class statistics group."
        ::= { kamailioSIPCommonObjects 5 }

   kamailioSIPCommonStatsTrans OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Transaction statistics group."
        ::= { kamailioSIPCommonObjects 6 }

   kamailioSIPCommonStatsRetry   OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Method retry statistics group."
        ::= { kamailioSIPCommonObjects 7 }

   kamailioSIPCommonStatsOther   OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Other statistics group."
        ::= { kamailioSIPCommonObjects 8 }

   kamailioSIPCommonNotifObjects  OBJECT-IDENTITY
        STATUS current
        DESCRIPTION 
        "Accessible-for-notify objects group."
        ::= { kamailioSIPCommonObjects 9 }

--
-- Common Configuration Objects
--
   kamailioSIPProtocolVersion OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object will reflect the version of SIP supported by
             this SIP entity.  It will follow the same format as SIP
             version information contained in the SIP messages
             generated by this SIP entity.  For example, entities
             supporting SIP version 2 will return 'SIP/2.0' as
             dictated by the standard."
       REFERENCE
             "RFC 3261, Section 7.1"
       ::= { kamailioSIPCommonCfgBase 1 }

   kamailioSIPServiceStartTime OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "The value of sysUpTime at the time the SIP entity was last
             started. If started prior to the last re-initialization of
             the local network management subsystem, then this object
             contains a zero value."
       ::= { kamailioSIPCommonCfgBase 2 }

    kamailioSIPEntityType OBJECT-TYPE
          SYNTAX     KamailioSIPEntityRole
          MAX-ACCESS read-only
          STATUS     current
          DESCRIPTION
               " This object identifies the list of SIP entities this
                 row is related to. It is defined as a bit map.  Each
                 bit represents a type of SIP entity.

                 If a bit has value 1, the SIP entity represented by
                 this row plays the role of this entity type.

                 If a bit has value 0, the SIP entity represented by
                 this row does not act as this entity type
                 
                 Combinations of bits can be set when the SIP entity
                 plays multiple SIP roles.  The bits can be:
		 
                 other(0), userAgent(1), proxyServer(2), 
                 redirectServer(3), registrarServer(4)"
       ::= { kamailioSIPCommonCfgBase 4 }

--
-- Support for multiple ports
--
   kamailioSIPPortTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF KamailioSIPPortEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This table contains the list of ports that each SIP entity
             in this system is allowed to use.  These ports can be
             advertised using the Contact header in a REGISTER request
             or response."
       ::= { kamailioSIPCommonCfgBase 5 }

   kamailioSIPPortEntry OBJECT-TYPE
       SYNTAX     KamailioSIPPortEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "Specification of a particular port.

             Each row represents those objects for a particular SIP
             entity present in this system."
       INDEX {
           kamailioSIPIPType,
           kamailioSIPIPAddress,
           kamailioSIPPort
           }
       ::= { kamailioSIPPortTable 1 }

   KamailioSIPPortEntry ::=
       SEQUENCE {
                kamailioSIPIPType               InetAddressType, 
                kamailioSIPIPAddress            InetAddress,
		kamailioSIPPort                 InetPortNumber,
                kamailioSIPTransportRcv         KamailioSIPTransportProtocol
       }

   
   kamailioSIPIPType    OBJECT-TYPE
       SYNTAX     InetAddressType
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION 
           "This object tells us what the address format is for the next
	    column"
       ::= { kamailioSIPPortEntry 1 }

   kamailioSIPIPAddress OBJECT-TYPE 
       SYNTAX     InetAddress
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This object shows which IP Address the row pertains to"
       ::= { kamailioSIPPortEntry 2 } 

   kamailioSIPPort OBJECT-TYPE
       SYNTAX     InetPortNumber
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This object reflects a particular port that can be used by
             the SIP application."
       ::= { kamailioSIPPortEntry 3 }

   kamailioSIPTransportRcv OBJECT-TYPE
       SYNTAX     KamailioSIPTransportProtocol
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "This object will specify the transport protocol the SIP
             entity will use to receive SIP messages.

             This object is a bit map.  Each bit represents a transport
             protocol.  If a bit has value 1, then that transport protocol
             is currently being used.  If a bit has value 0, then that
             transport protocol is currently not being used. 
	     
             The bits are assigned as follows:
		bit 0: a protocol other than those defined here
       		bit 1: User Datagram Protocol
       		bit 2: Transmission Control Protocol
       		bit 3: Stream Control Transmission Protocol
       		bit 4: Transport Layer Security Protocol over TCP
       		bit 5: Transport Layer Security Protocol over SCTP
       		bit 6: WebSocket transport
       		bit 7: WebSocket transport over HTTP/TLS (WSS)"
       ::= { kamailioSIPPortEntry 4 }

   --
   -- Supported SIP Methods
   --
   kamailioSIPMethodSupportedTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF KamailioSIPMethodSupportedEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This table contains a list of methods supported
             by each SIP entity in this system. This MAY include,
             but is not limited to, the standard set of SIP methods
             discussed in Section 7.1 of RFC 3261.  Any additional
             methods that MAY be incorporated into the SIP protocol
             can be represented by this table without any requirement
             to update this MIB.

             The table is informational in nature; conveying to the NMS
             capabilities of the managed system.

             From a protocol point of view, the list of methods
             advertised by the SIP entity in the Allow header (Section
             20.5 of RFC 3261) MUST be consistent with the methods
             reflected in this table."
       ::= { kamailioSIPCommonCfgBase 7 }

   kamailioSIPMethodSupportedEntry OBJECT-TYPE
       SYNTAX     KamailioSIPMethodSupportedEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "A particular method supported by the SIP entity.

             Each row represents those objects for a particular SIP
             entity present in this system.  

             The objects in this table entry SHOULD be non-volatile
             and their value SHOULD be kept at reboot."
       INDEX { kamailioSIPMethodSupportedIndex }
       ::= { kamailioSIPMethodSupportedTable 1 }

   KamailioSIPMethodSupportedEntry ::=
       SEQUENCE {
                kamailioSIPMethodSupportedIndex     KamailioSIPMethodIdentifier,
                kamailioSIPMethodName               SnmpAdminString
       }

   kamailioSIPMethodSupportedIndex OBJECT-TYPE
       SYNTAX     KamailioSIPMethodIdentifier
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This object uniquely identifies a conceptual row
             in the table and reflects an assigned number used
             to identifier a specific SIP method.

             This identifier is suitable for referenceing the
             associated method throughout this and other MIBs
             supported by this managed system."
       ::= { kamailioSIPMethodSupportedEntry 1 }

   kamailioSIPMethodName OBJECT-TYPE
       SYNTAX SnmpAdminString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
            "This object reflects the supported method's name.
             The method name MUST be all upper case (eg, 'FOO')."
       ::= { kamailioSIPMethodSupportedEntry 2 }


--
-- Summary Statistics
--
   kamailioSIPSummaryInRequests OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "This object indicates the total number of SIP request
             messages received by the SIP entity including
             retransmissions."
       ::= { kamailioSIPCommonStatsSummary 1 }

   kamailioSIPSummaryOutRequests OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "This object contains the total number of SIP request
             messages sent out (originated and relayed) by the SIP
             entity.  Where a particular message is sent more than
             once, for example as a retransmission, or as a result of
             forking, each transmission is counted separately."
       ::= { kamailioSIPCommonStatsSummary 2 }

   kamailioSIPSummaryInResponses OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "This object contains the total number of SIP response
             messages received by the SIP entity including
             retransmissions."
       ::= { kamailioSIPCommonStatsSummary 3 }

   kamailioSIPSummaryOutResponses OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "This object contains the total number of SIP response
             messages sent (originated and relayed) by the SIP entity
             including retransmissions."
       ::= { kamailioSIPCommonStatsSummary 4 }

   kamailioSIPSummaryTotalTransactions OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
            "This object contains a count of the number of transactions
             that are in progress and transactions that have reached the
             terminated state.  It is not applicable to stateless
             SIP Proxy Servers.

             A SIP transaction occurs between a client and a server and
             comprises all messages from the first request sent from
             the client to the server up to a final (non-1xx) response
             sent from the server to the client.

             If the request is INVITE and the final response is a non-2xx,
             the transaction also include an ACK to the response.  The ACK
             for a 2xx response to an INVITE request is a separate
             transaction.

             The branch ID parameter in the Via header field values
             serves as a transaction identifier.

             A transaction is identified by the CSeq sequence number
             within a single call leg.  The ACK request has the same
             CSeq number as the corresponding INVITE request, but
             comprises a transaction of its own.

             In the case of a forked request, each branch counts as a
             single transaction.

             For a transaction stateless Proxy Server, this counter
             is always 0."
       ::= { kamailioSIPCommonStatsSummary 5 }

--
-- SIP Method Statistics
-- Total counts for each SIP method.
--
   kamailioSIPMethodStatsTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF KamailioSIPMethodStatsEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This table contains the method statistics objects
             for SIP entities.  Each row represents those objects
             for a particular SIP entity present in this system."
       ::= { kamailioSIPCommonStatsMethod 1 }

   kamailioSIPMethodStatsEntry OBJECT-TYPE
       SYNTAX     KamailioSIPMethodStatsEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "A row of per entity method statistics.

             Each row represents those objects for a particular SIP
             entity present in this system."
       INDEX { kamailioSIPStatsMethod }
       ::= { kamailioSIPMethodStatsTable 1 }

   KamailioSIPMethodStatsEntry ::=
       SEQUENCE {
                kamailioSIPStatsMethod       KamailioSIPMethodIdentifier,
                kamailioSIPStatsOutbounds    Counter32,
                kamailioSIPStatsInbounds     Counter32
       }

   kamailioSIPStatsMethod OBJECT-TYPE
       SYNTAX      KamailioSIPMethodIdentifier
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "This object uniquely identifies the SIP method
             related to the objects in a particular row."
       ::= { kamailioSIPMethodStatsEntry 1 }

   kamailioSIPStatsOutbounds OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of requests
             sent by the SIP entity, excluding retransmissions.
             Retransmissions are counted separately and are not
             reflected in this counter."
       REFERENCE
            "RFC 3261, Section 7.1"
       ::= { kamailioSIPMethodStatsEntry 2 }

   kamailioSIPStatsInbounds OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of requests
             received by the SIP entity. Retransmissions are
             counted separately and are not reflected in this
             counter."
       REFERENCE
            "RFC 3261, Section 7.1"
       ::= { kamailioSIPMethodStatsEntry 3 }

--
-- Support for specific status codes
--
   kamailioSIPStatusCodesTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF KamailioSIPStatusCodesEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "This table contains the list of SIP status codes which
             each SIP entity in this system has been requested to
             monitor. It is the mechanism by which specific status
             codes are monitored."
       ::= { kamailioSIPCommonStatusCode 1 }

   kamailioSIPStatusCodesEntry OBJECT-TYPE
       SYNTAX      KamailioSIPStatusCodesEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "This row contains information on a particular SIP status

             code that the SIP entity has been requested to monitor.

             Each row represents those objects for a particular SIP
             entity present in this system."
       INDEX { kamailioSIPStatusCodeMethod, kamailioSIPStatusCodeValue }
       ::= { kamailioSIPStatusCodesTable 1 }

   KamailioSIPStatusCodesEntry ::=
       SEQUENCE {
          kamailioSIPStatusCodeMethod     KamailioSIPMethodIdentifier,
          kamailioSIPStatusCodeValue      Unsigned32,
          kamailioSIPStatusCodeIns        Counter32,
          kamailioSIPStatusCodeOuts       Counter32,
          kamailioSIPStatusCodeRowStatus  RowStatus
       }

   kamailioSIPStatusCodeMethod OBJECT-TYPE
       SYNTAX      KamailioSIPMethodIdentifier
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "This object uniquely identifies a conceptual row
             in the table and reflects an assigned number used
             to identifier a specific SIP method."
       ::= { kamailioSIPStatusCodesEntry 1 }

   kamailioSIPStatusCodeValue OBJECT-TYPE
       SYNTAX      Unsigned32 (100..999)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "This object contains a SIP status code value that the SIP
             entity has been requested to monitor.  All of the other
             information in the row is related to this value."
       ::= { kamailioSIPStatusCodesEntry 2 }

   kamailioSIPStatusCodeIns OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of response messages
             received by the SIP entity with the status code value
             contained in the sipStatusCodeValue column."
       ::= { kamailioSIPStatusCodesEntry 3 }

   kamailioSIPStatusCodeOuts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of response messages
             sent by the SIP entity with the status code value
             contained in the sipStatusCodeValue column."
       ::= { kamailioSIPStatusCodesEntry 4 }

   kamailioSIPStatusCodeRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
            "The row augmentation in sipStatusCodeNotifTable
             will be governed by the value of this RowStatus.

             This object is REQUIRED to create or delete rows
             by a manager.

             The values 'createAndGo' and 'destroy' are the
             only valid values allowed for this object.
             If a row exists, it will reflect a status of
             'active' when queried."
       ::= { kamailioSIPStatusCodesEntry 5 }

--
-- Transaction Statistics
--
   kamailioSIPCurrentTransactions OBJECT-TYPE
       SYNTAX     Gauge32 (0..4294967295)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "This object contains the number of transactions awaiting
             definitive (non-1xx) response.  In the case of a forked
             request, each branch counts as a single transaction
             corresponding to the entity identified by applIndex."
   ::= { kamailioSIPCommonStatsTrans 1 }

--
-- SIP Retry Statistics
--
-- This group contains various statistic objects about
-- retransmission counts.
--
   kamailioSIPCommonStatsRetryTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF KamailioSIPCommonStatsRetryEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "This table contains retry statistics objects applicable
             to each SIP entity in this system."
       ::= { kamailioSIPCommonStatsRetry 1 }

   kamailioSIPCommonStatsRetryEntry OBJECT-TYPE
       SYNTAX     KamailioSIPCommonStatsRetryEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
            "A row of retry statistics.

             Each row represents those objects for a particular SIP
             entity present in this system."
       INDEX { kamailioSIPStatsRetryMethod }
       ::= { kamailioSIPCommonStatsRetryTable 1 }

   KamailioSIPCommonStatsRetryEntry ::=
       SEQUENCE {
                kamailioSIPStatsRetryMethod           KamailioSIPMethodIdentifier,
                kamailioSIPStatsRetries                Counter32,
                kamailioSIPStatsRetryFinalResponses    Counter32,
                kamailioSIPStatsRetryNonFinalResponses Counter32
       }

   kamailioSIPStatsRetryMethod OBJECT-TYPE
       SYNTAX      KamailioSIPMethodIdentifier
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "This object uniquely identifies the SIP method
             related to the objects in a row."
       ::= { kamailioSIPCommonStatsRetryEntry 1 }

   kamailioSIPStatsRetries OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of request
             retransmissions that have been sent by the SIP
             entity. Note that there could be multiple
             retransmissions per request."
       ::= { kamailioSIPCommonStatsRetryEntry 2 }

   kamailioSIPStatsRetryFinalResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of Final Response
             retries that have been sent by the SIP entity.
             Note that there could be multiple retransmissions
             per request."
       ::= { kamailioSIPCommonStatsRetryEntry 3 }

   kamailioSIPStatsRetryNonFinalResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "This object reflects the total number of non-Final Response
             retries that have been sent by the SIP entity."
       ::= { kamailioSIPCommonStatsRetryEntry 4 }

--
-- Other Common Statistics
--
   kamailioSIPNumUnsupportedUris OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "Number of RequestURIs received with unsupported scheme.
             A server normally responds to such requests with a 400 Bad
             Request status code."
       ::= { kamailioSIPCommonStatsOther 1 }

   kamailioSIPNumUnsupportedMethods OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "Number of SIP requests received with unsupported methods.
             A server normally responds to such requests with a
             501 (Not Implemented) or 405 (Method Not Allowed)."
       ::= { kamailioSIPCommonStatsOther 2 }

   kamailioSIPOtherwiseDiscardedMsgs OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
            "Number of SIP messages received that for any number
             of reasons was discarded without a response."
       ::= { kamailioSIPCommonStatsOther 3 }

--
-- Conformance
--

--
-- Compliance Statements
--
   kamailioSIPCommonCompliance MODULE-COMPLIANCE
       STATUS     current
       DESCRIPTION
            "The compliance statement for SIP entities."

       MODULE -- this module
            MANDATORY-GROUPS { kamailioSIPCommonConfigGroup,
                               kamailioSIPCommonStatsGroup }


       GROUP kamailioSIPCommonStatsRetryGroup
       DESCRIPTION
            "This group is OPTIONAL.  A SIP entity can elect to
             not provide any retry statistics."
       ::= { kamailioSIPCommonConform 1 }

   kamailioSIPCommonGroups
     OBJECT IDENTIFIER ::= { kamailioSIPCommonConform 2 }


--
-- Units of Conformance
--
   kamailioSIPCommonConfigGroup OBJECT-GROUP
       OBJECTS {
               kamailioSIPProtocolVersion,
               kamailioSIPServiceStartTime,
	       kamailioSIPPort,
               kamailioSIPTransportRcv,
	       kamailioSIPIPType,
	       kamailioSIPIPAddress,
               kamailioSIPEntityType,
               kamailioSIPMethodName
       }
       STATUS  current
       DESCRIPTION
            "A collection of objects providing configuration common
             to all SIP enities."
       ::= { kamailioSIPCommonGroups 1 }

   kamailioSIPCommonStatsGroup OBJECT-GROUP
       OBJECTS {
               kamailioSIPSummaryInRequests,
               kamailioSIPSummaryOutRequests,
               kamailioSIPSummaryInResponses,
               kamailioSIPSummaryOutResponses,
               kamailioSIPSummaryTotalTransactions,
               kamailioSIPStatsOutbounds,
               kamailioSIPStatsInbounds,
               kamailioSIPStatusCodeIns,
               kamailioSIPStatusCodeOuts,
               kamailioSIPStatusCodeRowStatus,
               kamailioSIPCurrentTransactions,
               kamailioSIPNumUnsupportedUris,
               kamailioSIPNumUnsupportedMethods,
               kamailioSIPOtherwiseDiscardedMsgs
       }
       STATUS  current
       DESCRIPTION
            "A collection of objects providing statistics common
             to all SIP entities."
       ::= { kamailioSIPCommonGroups 3 }

   kamailioSIPCommonStatsRetryGroup OBJECT-GROUP
       OBJECTS {
                kamailioSIPStatsRetries,
                kamailioSIPStatsRetryFinalResponses,
                kamailioSIPStatsRetryNonFinalResponses
       }
       STATUS  current
       DESCRIPTION
            "A collection of objects providing retry statistics."
       ::= { kamailioSIPCommonGroups 4 }

   END