Implementation of oblivious transfer with symmetric primitive?
You can take a look at LibOT, which is a C++ implementation of several OT extension protocols. 
In the Readme you can find a list with many base and extension Oblivious Transfer protocols.

A protocol that people use a lot is the Simplest OT (although it was announced that the security proof has a bug by one of the authors at the TPMPC2018 workshop).

Another popular option is PVW, the protocol by Peikert, Vaikuntanathan and Waters.
It has two variants. 
One DDH-based and another LWE-based.
The first one is particularly easy to understand and implement.