{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : "jenkins-notifications@lists.osmocom.org laforge@gnumonks.org"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 47036,
      "executingTimeMillis" : 47036,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 6238,
      "waitingTimeMillis" : 6238
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 7100,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
            "branch" : [
              {
                "SHA1" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
            "branch" : [
              {
                "SHA1" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4985,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f2c76035fb3d97d880114bd39e827e2b1ed3365f",
            "branch" : [
              {
                "SHA1" : "f2c76035fb3d97d880114bd39e827e2b1ed3365f",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f2c76035fb3d97d880114bd39e827e2b1ed3365f",
            "branch" : [
              {
                "SHA1" : "f2c76035fb3d97d880114bd39e827e2b1ed3365f",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
        "branch" : [
          {
            "SHA1" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/libosmo-abis"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#7100",
  "duration" : 47036,
  "estimatedDuration" : 69811,
  "executor" : None,
  "fullDisplayName" : "master-libosmo-abis #7100",
  "id" : "7100",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 7100,
  "queueId" : 1965292,
  "result" : "SUCCESS",
  "timestamp" : 1755076866624,
  "url" : "https://jenkins.osmocom.org/jenkins/job/master-libosmo-abis/7100/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/tfo/nokia_tcsm2/tfo-hr.hex",
          ".gitignore",
          "tests/Makefile.am",
          "tests/tfo/extract_test_efr.ok",
          "tests/tfo/enc_test_efr.in",
          "tests/tfo/extract_test_hr.ok",
          "tests/tfo/extract_test_fr.ok",
          "src/Makefile.am",
          "tests/tfo/nokia_tcsm2/README",
          "tests/testsuite.at",
          "tests/tfo/rtp2tfo.c",
          "tests/tfo/nokia_tcsm2/tfo-fr.hex",
          "include/Makefile.am",
          "include/osmocom/trau/tfo_frame.h",
          "tests/tfo/enc_test_fr.in",
          "tests/tfo/tfo_extr_test.c",
          "tests/tfo/nokia_tcsm2/tfo-efr.hex",
          "src/trau/tfo_frame.c",
          "tests/tfo/enc_test_hr.in"
        ],
        "commitId" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
        "timestamp" : 1752306774000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/falcon",
          "fullName" : "falcon"
        },
        "authorEmail" : "falcon@freecalypso.org",
        "comment" : "trau: add TFO frame insert/extract functions\u000a\u000aIn 2025-02 functions were added for encoding and decoding TFO frames,\u000awhich are slightly modified TRAU-UL frames.  Those functions are\u000aslightly modified versions of regular TRAU frame encoding and\u000adecoding functions, implemented in trau_frame layer.  However,\u000aa more useful API for TFO applications (TFO-equipped transcoder\u000aimplementations) is one level up: inserting a TFO frame into a block\u000aof 160 G.711 PCM samples or extracting a frame from such sample\u000ablock.  This slightly higher level is also more amenable to unit\u000atesting: unit tests can perform decoding of TFO frames captured\u000afrom historical E1-based TRAU equipment, providing a cross-check\u000aagainst actual reality and not just our own reading of the specs.\u000a\u000aThe present patch adds the desired next-level-up TFO frame insertion\u000aand extraction functions, as well as unit tests that exercise both\u000athe present new addition and the underlying functions added in\u000a2025-02.\u000a\u000aUnit testing is done in two stages:\u000a\u000a1) TFO frame extraction and decoding direction is tested by decoding\u000a   from E1 timeslot captures that were taken from Nokia TCSM2.\u000a\u000a2) TFO frame encoding and insertion direction is tested via round\u000a   trip conversion.  Since the decoding direction is verified against\u000a   TCSM2, correct round trip conversion implies correct logic in\u000a   the encoding direction.\u000a\u000aCredit goes to fixeria (Vadim Yanitskiy) for integrating the second\u000apart of the unit test into testsuite.at framework.\u000a\u000aChange-Id: Idf149ec682e4064f0e63d67ac757d92402f22dca\u000a",
        "date" : "2025-07-12 07:52:54 +0000",
        "id" : "83f49b78a0185ad67a5d398d174e84c986461bc5",
        "msg" : "trau: add TFO frame insert/extract functions",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tests/tfo/nokia_tcsm2/tfo-hr.hex"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/extract_test_fr.ok"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/nokia_tcsm2/tfo-fr.hex"
          },
          {
            "editType" : "edit",
            "file" : "include/Makefile.am"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/extract_test_hr.ok"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/rtp2tfo.c"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/enc_test_fr.in"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/tfo_extr_test.c"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/nokia_tcsm2/tfo-efr.hex"
          },
          {
            "editType" : "edit",
            "file" : "src/Makefile.am"
          },
          {
            "editType" : "add",
            "file" : "src/trau/tfo_frame.c"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/nokia_tcsm2/README"
          },
          {
            "editType" : "edit",
            "file" : "tests/Makefile.am"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/extract_test_efr.ok"
          },
          {
            "editType" : "edit",
            "file" : "tests/testsuite.at"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/enc_test_efr.in"
          },
          {
            "editType" : "add",
            "file" : "tests/tfo/enc_test_hr.in"
          },
          {
            "editType" : "add",
            "file" : "include/osmocom/trau/tfo_frame.h"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/falcon",
      "fullName" : "falcon"
    }
  ],
  "runs" : [
    {
      "number" : 7100,
      "url" : "https://jenkins.osmocom.org/jenkins/job/master-libosmo-abis/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/7100/"
    }
  ]
}